首页 / 专利库 / 电脑编程 / 临时别名 / 一种基于节点集合的多层管理系统

一种基于节点集合的多层管理系统

阅读:813发布:2020-05-18

专利汇可以提供一种基于节点集合的多层管理系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于 节点 集合的多层管理系统。该系统包括:形成 树形结构 的多个节点,其中,在树形结构中包括至少由一个节点构成的分组,一个分组中的节点隶属于同一个父亲节点且具有相同属性;以及设置于节点上的管理装置,其中,管理装置用于对一个或多个分组,或一个分组中的多个节点下发批量操作命令。通过本发明,在面临机器繁多、环境复杂的情况,能够提供一种灵活的但又定制化高的方式。,下面是一种基于节点集合的多层管理系统专利的具体信息内容。

1.一种基于节点集合的多层管理系统,其特征在于,包括:
形成树形结构的多个节点,其中,在所述树形结构中包括至少由一个节点构成的分组,一个分组中的节点隶属于同一个父亲节点且具有相同属性;以及
设置于所述节点上的管理装置,其中,所述管理装置用于对一个或多个分组,或一个分组中的多个节点下发批量操作命令。
2.如权利要求1所述的基于节点集合的多层管理系统,其特征在于,一个分组中的节点具有相同属性包括:
一个分组中的节点处于相同的网络环境、一个分组中的节点具有相同的业务需求、一个分组中的节点处理相同的业务和/或一个分组中的节点处于相同的地理位置
3.如权利要求1所述的基于节点集合的多层管理系统,其特征在于,所述批量操作命令包括:
远程执行服务器命令、推送数据到远程服务器的命令和从远程服务器拉取数据的命令。
4.如权利要求3所述的基于节点集合的多层管理系统,其特征在于,所述管理装置下发远程执行服务器命时具体执行以下步骤:
对所述树形结构的各层分组层层执行所述远程执行服务器命令,执行结果层层回递至操作节点。
5.如权利要求3所述的基于节点集合的多层管理系统,其特征在于,所述管理装置下发推送数据到远程服务器的命令时具体执行以下步骤:
将待推送的文件逐级推送到经过的节点,然后层层下发,其中,将待推送的文件逐级推送到经过的节点包括将所述待推送的文件放置到经过节点的临时目录,或将所述待推送的文件放置到经过节点的相同目录。
6.如权利要求3所述的基于节点集合的多层管理系统,其特征在于,所述管理装置下发从远程服务器拉取数据的命令时具体执行以下步骤:
将待拉取的文件逐级拉取到经过的节点,然后层层上传,其中,将待拉取的文件逐级拉取到经过的节点包括将所述待拉取的文件放置到经过节点的临时目录,或将所述待拉取的文件放置到经过节点的相同目录。
7.如权利要求1所述的基于节点集合的多层管理系统,其特征在于,所述管理装置下发批量操作命令时具体执行以下步骤:
向所述树形结构中的子树下发批量操作命令;或者
去掉所述树形结构中的子树中的部分节点,形成新的子树,并对所述新的子树下发批量操作命令。
8.如权利要求1所述的基于节点集合的多层管理系统,其特征在于,所述操作命令对应设置有别名,所述管理装置还用于通过所述别名下发批量操作命令。
9.如权利要求1所述的基于节点集合的多层管理系统,其特征在于,所述管理装置还用于通过脚本下发批量操作命令。
10.如权利要求9所述的基于节点集合的多层管理系统,其特征在于,所述脚本包括批量推送脚本、批量获取脚本、批量执行脚本、只执行一次的脚本、命令编码解码脚本、快速增删机器的脚本、软件部署脚本、系统管理脚本、业务相关脚本以及软件相关脚本。

说明书全文

一种基于节点集合的多层管理系统

技术领域

[0001] 本发明涉及领域,具体而言,特别涉及一种基于节点集合的多层管理系统。

背景技术

[0002] 大数据时代的到来,使得机器过于繁多,网络也渐趋复杂。同样因为ipv4 ip的不足或者有些安全考虑,局域网在现实中遍布林立,普通的单点连接到各服务器进行管理已经远远无法满足管理上的需求。
[0003] 市面上有很多基于ssh的单层管理系统,但功能单一,使用起来需要较多的人工,无法适应复杂的网络环境,因此需要探索一种更符合实际的多层次管理方式。
[0004] 针对现有技术中存在的上述问题,目前尚未提出有效的解决方法。

发明内容

[0005] 本发明的主要目的在于提供一种基于节点集合的多层管理系统,以解决现有技术中单层管理系统无法适应复杂的网络环境的技术问题。
[0006] 依据本发明的一个方面,提供了一种基于节点集合的多层管理系统,该系统包括形成树形结构的多个节点,其中,在树形结构中包括至少由一个节点构成的分组,一个分组中的节点隶属于同一个父亲节点且具有相同属性;以及设置于节点上的管理装置,其中,管理装置用于对一个或多个分组,或一个分组中的多个节点下发批量操作命令。
[0007] 进一步地,一个分组中的节点具有相同属性包括:一个分组中的节点处于相同的网络环境、一个分组中的节点具有相同的业务需求、一个分组中的节点处理相同的业务和/或一个分组中的节点处于相同的地理位置
[0008] 进一步地,批量操作命令包括:远程执行服务器命令、推送数据到远程服务器的命令和从远程服务器拉取数据的命令。
[0009] 进一步地,管理装置下发远程执行服务器命时具体执行以下步骤:对树形结构的各层分组层层执行远程执行服务器命令,执行结果层层回递至操作节点。
[0010] 进一步地,管理装置下发推送数据到远程服务器的命令时具体执行以下步骤:将待推送的文件逐级推送到经过的节点,然后层层下发,其中,将待推送的文件逐级推送到经过的节点包括将待推送的文件放置到经过节点的临时目录,或将待推送的文件放置到经过节点的相同目录。
[0011] 进一步地,管理装置下发从远程服务器拉取数据的命令时具体执行以下步骤:将待拉取的文件逐级拉取到经过的节点,然后层层上传,其中,将待拉取的文件逐级拉取到经过的节点包括将待拉取的文件放置到经过节点的临时目录,或将待拉取的文件放置到经过节点的相同目录。
[0012] 进一步地,管理装置下发批量操作命令时具体执行以下步骤:向树形结构中的子树下发批量操作命令;或者去掉树形结构中的子树中的部分节点,形成新的子树,并对新的子树下发批量操作命令。
[0013] 进一步地,操作命令对应设置有别名,管理装置还用于通过别名下发批量操作命令。
[0014] 进一步地,管理装置还用于通过脚本下发批量操作命令。
[0015] 进一步地,脚本包括批量推送脚本、批量获取脚本、批量执行脚本、只执行一次的脚本、命令编码解码脚本、快速增删机器的脚本、软件部署脚本、系统管理脚本、业务相关脚本以及软件相关脚本。
[0016] 通过本发明,提供了一种基于节点集合的多层管理系统,该系统包括形成树形结构的多个节点,其中,在树形结构中包括至少由一个节点构成的分组,一个分组中的节点隶属于同一个父亲节点且具有相同属性;以及设置于节点上的管理装置,其中,管理装置用于对一个或多个分组,或一个分组中的多个节点下发批量操作命令,从而实现在大数据状态下对大量机器的批量管理,在不失灵活的情况下进行极便利的操作方式,同时又能部署简单,维护简易,解决了现有技术中单层管理系统无法适应复杂的网络环境的技术问题。
[0017] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明
[0018] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1是根据本发明第一实施例的一种基于节点集合的多层管理系统的示意图;
图2是根据本发明第二实施例的一种基于节点集合的多层管理系统的示意图。

具体实施方式

[0019] 下面结合附图和具体实施方式对本发明做进一步说明。需要指出的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0020] 实施例一首先,本发明实施例一提供了一种基于节点集合的多层管理系统,参见图1,该系统包括形成树形结构的多个节点A~P,其中,在树形结构中包括至少由一个节点构成的分组,该多层次的分组能够对复杂的网络环境(比如彼此不直接互连)、不同机房、不同业务等节点进行有效的管理,一个分组中的节点隶属于同一个父亲节点,方便分组的独自维护,且一个分组中的节点具有相同属性,方便开展批量业务。例如,D、E、F节点构成一个分组,I节点构成一个分组。
[0021] 系统还包括设置于节点上的管理装置,其中,管理装置用于对一个或多个分组,或一个分组中的多个节点下发批量操作命令,从而可以其中的一个节点的机器或者多个节点的机器进行快速的批量操作,减少人物力。
[0022] 优选地,可以将处于相同的网络环境,或者具有相同的业务需求,或者处理相同的业务,或者处于相同的地理位置的节点配置为同一个分组,满足实际系统管理的需求。
[0023] 优选地,管理装置下发的批量操作命令包括:远程执行服务器命令、推送数据到远程服务器的命令和从远程服务器拉取数据的命令,其中,远程执行服务器命令包括远程执行ssh命令、远程执行删除命令和远程重启机器,方便在现有单层ssh管理系统上进行扩展。
[0024] 进一步优选地,管理装置下发远程执行服务器命时具体执行以下步骤:对树形结构的各层分组层层执行远程执行服务器命令,执行结果层层回递至操作节点。管理装置下发推送数据到远程服务器的命令时具体执行以下步骤:将待推送的文件逐级推送到经过的节点,然后层层下发,其中,将待推送的文件逐级推送到经过的节点包括将待推送的文件放置到经过节点的临时目录,或将待推送的文件放置到经过节点的相同目录。管理装置下发从远程服务器拉取数据的命令时具体执行以下步骤:将待拉取的文件逐级拉取到经过的节点,然后层层上传,其中,将待拉取的文件逐级拉取到经过的节点包括将待拉取的文件放置到经过节点的临时目录,或将待拉取的文件放置到经过节点的相同目录。
[0025] 采用该进一步的优选方式,增加命令执行的灵活性,整体效率大大提高。
[0026] 优选地,管理装置下发批量操作命令时具体执行以下步骤:向树形结构中的子树下发批量操作命令;或者去掉树形结构中的子树中的部分节点,形成新的子树,并对新的下发批量操作命令,以满足灵活多变的业务需求。
[0027] 优选地,操作命令对应设置有别名,管理装置还用于通过别名下发批量操作命令,以避免在下发命令时出错。
[0028] 优选地,管理装置还用于通过脚本下发批量操作命令,具体的脚本可包括批量推送脚本、批量获取脚本、批量执行脚本、只执行一次的脚本、命令编码解码脚本、快速增删机器的脚本、软件部署脚本、系统管理脚本、业务相关脚本以及软件相关脚本,将用多条命令才能实现的操作通过脚本来下发,进一步优化系统的执行效率。
[0029] 采用该是实施例的方法,具体应用场景可举例如下:目前web网站服务基本上都采用多个机房,每个机房多台机器部署相同web服务。比如联通机房10台机器,电信机房20台机器,移动机房50台机器。现在如果对各个机房的机器进行一次版本升级,且一次升级需要进行sql更新和web程序更新,则可将服务器按业务分成两棵树,树A为各机房sql服务器的集合,树B为各web服务器的集合,进一步进行如下的更新操作。
[0030] 将sql更新脚本批量推送到树A的各个叶子节点,对各叶子节点进行sql更新操作。将程序部署文件批量推送到树B的各个叶子节点,对各叶子节点进行更新部署操作。对树B的各个web服务批量重启,并批量执行命令验证服务是否正常启动。
[0031] 实施例二该实施例为在实施例一的基础上进一步优选的基于节点集合的多层管理系统,参见图
2,该实施例二的基于节点集合的多层管理系统具体描述如下。
[0032] 在该实施例的系统中,将一到多台机器分成一个组,可以对整组或所有组或组中某些机器进行操作,操作的命令具体包括:远程执行:远程执行ssh命令
远程删除:远程执行删除命令
远程重启:远程重启机器的命令
远程推送数据:推送数据到远程服务器的命令
远程拉取数据:从远程服务器拉取数据过来的命令
远程关机:对远程服务器进行关机重启的命令
在现有技术中,单层次管理的分组的节点一般是实际服务器,在本实施例中,将节点配置到另一个分组主机的服务器,从而实现两层到多层的分组。子组可以结合网络环境及业务需求来确定分组。一个子组只能给隶属于一个父亲节点,这是为了便于独自维护,从而实现我们的建议维护原则。
[0033] 原则上一个局域网最少需要建立一个子组,同一局域网的不同业务可以建立不同子组,如果某个业务机器繁多或者能拆分更多细分的子类,可以在其下建立更细的分组。
[0034] 多层次分组可以有效的将复杂的网络环境(比如彼此不直接互连),不同机房,不同业务,经过抽丝剥茧,细分成清晰的树形结构。
[0035] 在节点上设置管理装置,可以对树形结构其中的一台机器或者多台机器进行快速的批量操作,从而减少人力物力。由于分组已经记录在案,在实际应用中,也省去检索机器总表的动作。
[0036] 建立树形结构后,会有大量的分组,如果没有对分组进行有效的标识,其实相当于增加出错率,对错误的机器执行命令。因此进行合适并有效的标识是非常重要的,标识可以通过如下几方面来结合进行。
[0037] 对于组名的标识,可以按大业务(或其它合理规则)来进行标识,这样也可以不同业务的分组由不同人各自维护,彼此操作也不会混淆。
[0038] 对于节点名的标识,可按地区,按机房,按小业务等进行标识。从而可以让快速得知输出结果是属于哪个分组,从而进行更有效的操作。对于节点名也可以做些合理的注释,注释一般不会显示在输出结果中,但可以在获取节点列表的时候显示节点注释。良好的节点注释是很重要的,可以注明机器用途或者子业务用途,或者子局域网。由于有时候需要对特殊业务的机器进行特别的操作,通过查看节点注释,省去了检索机器列表的操作,可以直接连接相应节点主机进行操作,从而体现灵活多变的操作原则。
[0039] 处于特定位置的节点也可以进行有效的标识,对于一些分组来说,有些机器是一定存在,而且用途是比较一致的。就可以通过在特定位置配置某个子分类用途的机器,从而实现一种较高效且减少重复配置的方式。
[0040] 有分组的操作命令跟单层的操作命令会有异同。同的方面是基于单层命令,不同的方面是会进行多层嵌套,或者进行多次操作。下面主要就执行、推送、获取三方面来举例说明子节点的操作该怎么做。
[0041] 假设单层提供如下三种命令:Exec:执行远程服务器命令;
Push:推送数据到远程服务器的命令;
Get:从远程服务器获取数据的命令;
目前有三层节点,分别为a->b->c->d,a节点为操作机,a-b为第一层,层名为c1,b-c为第二层,层名为c2,c-d为第三层,层名为c3。
[0042] 一般来说根据需要可以执行到第三层或者第二层,甚至第一层,这个是灵活多变的,下面主要就直接执行三层的做下说明。
[0043] (1)关于批量执行远程服务器命令执行命令为: Exec c1: exec c2: exec c3:
解释:
在当前操作机对c1层执行命令:exec c2: exec c3:;
C1层各机器对c2执行命令:exec c3:;
C3层各自执行完命令;
结果层层回递;
显示总体输出结果。
[0044] 对于不同层数甚至可以指定特定范围的机器进行执行,比如,Exec c1: exec c2:1 exec c3:2这样可以对每个c1层下的c2第一台下的第二台c3进行执行命令,从而可以更有效的执行一些特定机器的操作,增加灵活性。
[0045] (2)关于推送数据到远程服务器的命令将数据推送到各子节点服务器。假设文件是e,推送后目录是f。
[0046] 可以采用层层推送法:将文件逐级推送到经过的节点,然后层层下发。推送到经过的节点可以采用两种方式进行推送,一种是放置到经过节点的临时目录,一种是推送到经过节点的相同目录f。两种方式各有优劣,下面对后者进行介绍。
[0047] Push c1: e fExec c1: push c2: e f
Exec c1: Exec c2: push c3: e f
解释:
结合批量执行命令可以通过运行多次推送命令达到层层推送的目的,整体实现简单命令,可以快速上手。跟批量执行类似的,也可以指定对指定范围机器进行推送,批量推送的其中一个好处是能提升链路传输。由于某一层是批量并行执行,而且相同子组的网络一般更快,因此整体效率能大大提高。
[0048] (2)关于从远程服务器获取数据的命令将数据从各子节点服务器获取。假设文件是e,获取后目录是f。
[0049] 批量获取其实跟批量推送类似,只是步骤相反。可以采用层层获取法:将文件逐级获取到经过的节点,然后层层上传。推送到经过的节点可以采用两种方式进行推送,一种是放置到经过节点的临时目录,一种是放置到经过节点的相同目录f。两种方式各有优劣,下面对后者进行介绍。
[0050] Exec c1: Exec c2: Get c3: e fExec c1: Get c2: e f
Get c1: e f
解释:
结合批量执行命令可以通过运行多次获取命令达到层层获取的目的。整体实现简单命令,可以快速上手。跟批量执行类似的,也可以指定对指定范围机器进行获取,批量获取的其中一个好处是能提升链路传输。由于某一层是批量并行执行,而且相同子组的网络一般更快,因此整体效率能大大提高。
[0051] 对于系统中多层次分组建立起的一个树形结构。可以不采用每次从主节点去对叶子节点进行操作的方式,以满足灵活多变的业务需求。
[0052] 可以通过如下两种方式进行局部操作:(1)子树执行
一个树形结构可以看成由多个子树组成,可以在树形结构中找出合适当前操作的子树。然后进行执行。执行可以在主节点执行,也可以直接连到子树的主节点进行执行。
[0053] (2)带条件的子树执行有时候只拆解子树会发现还有着一些不想要处理的节点,因此需要根据一定条件将子树的某些节点去掉,临时形成一到多个符合条件的子树,然后对这些子树进行执行。执行可以在主节点执行,也可以直接连到子树的主节点进行执行。
[0054] 从上面的说明发现批量多层次执行已经可行。但也有相关的问题,就是整条命令太长,不利于快速操作。为了解决该问题,可对一些常见操作进行别名映射,从而极大的提升的效率,减少出错率。
[0055] 比如可以对上面的批量执行的命令设置别名:Alias kkk=Exec c1: Exec c2: Get c3: e f
这样可以通过kkk xxx来快速对c3节点执行xxx命令。
[0056] 进一步地,虽然上面引入了管理装置可以通过别名下发批量操作命令,可以优化效率。但其实还是不够,因为对于push等操作还是得用多条命令才能实现。
[0057] 因此需要如下的几个扩展脚本:(1)批量推送脚本
可以通过传递要经过的层数,比如c1:c2:c3快速进行推送,该类脚本动态解析参数,对刚刚列举的命令逐步执行,如果参数部分涉及多个子树,对于子树重叠部分只进行一次推送。
[0058] (2)批量获取脚本可以通过传递要经过的层数,比如c1:c2:c3快速进行获取,该类脚本动态解析参数,对刚刚列举的命令逐步执行,如果参数部分涉及多个子树,对于子树重叠部分只进行一次获取。
[0059] (3)批量执行脚本该脚本主要扩展是可以同时对多个子树进行处理,由于别名方式只能处理一个子树,因此对于多个子树的处理需要一个专的扩展脚本来实现,比如可以传递参数对c1:c2:c3 cc1:cc2两个子树进行处理。
[0060] (4)只执行一次的脚本该脚本主要部署在各节点服务器上。由于有时候一台机器可能会属于不同分组,而这些分组又可能在同一个子树中。因此在执行的时候可能会导致同时执行多次,因此需要这个脚本来达到只执行一次命令
(5)命令编码解码脚本
由于多层次管理在存在特殊符号的命令的时候,经过层层转义,传到子节点的时候可能已经不是想进行的命令了。为了解决这个问题,也可以将命令行写在脚本中,然后将该脚本批量推送到节点,然后执行命令,最后删除脚本。
[0061] 但这种方式麻烦,因此可在主节点的时候对整个命令进行编码,编码成一种不带转义符的参数。然后将该参数传递过去,在远程进行解码,并执行相关命令。
[0062] (6)快速增删机器的脚本需要对一台新加入的机器进行快速部署,部署一些通用脚本,部署别名,需要提供相关的脚本能对新机器快速部署,从而达到的快速部署方式。由于采用基于分组的树形结构,删除节点只要将节点从相关的配置删除即可。
[0063] (7)其他辅助脚本可以定义一系列的辅助脚本来有效的增加执行效率。
[0064] 比如:软件部署脚本:部署相关软件
系统管理脚本:查看系统状态,进行一些系统操作
业务相关脚本:对某种业务的详细操作进行规整。
[0065] 软件相关脚本:对于某个软件的详细操作进行规整采用该实施例,能在单层管理的基础上发展出一套确实可用的多层次管理系统,并有着灵活多变,快速批量,极速部署,简易维护的特性。在现在的大数据时代,机器越来越多,网络越来越复杂的情况下,本实施例的系统能更得心应手的进行操作。
[0066] 从以上各实施例的描述中,可以看出,本发明实施例实现了如下技术效果:在面临机器繁多,环境复杂的情况能够提供一种灵活的但又定制化高的系统,一次部署,终身受益,本身又有着结构清晰,维护便利的方式。
[0067] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0068] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈