本发明涉及一种基于集群的网络访问控制方法及系统。
背景技术:
::随着集群及网络技术的发展,越来越多的集群及其节点需要进行网络访问控制。目前,当集群某个节点要进行网络访问设置时,网络管理者往往都必须直接登录该节点,并且执行相应的iptable指令。这种方法比较麻烦,且不便于记录网络设置情况。概括而言,当前集群的访问控制存在以下缺点:第一,对某个节点进行网络访问设置,必须登录该节点,执行相应的iptable指令;第二,整个集群节点众多,每个节点设置都不相同,管理起来很不方便。技术实现要素:有鉴于此,有必要提供一种基于集群的网络访问控制方法及系统。本发明提供一种基于集群的网络访问控制方法,该方法包括如下步骤:a.接收网络设置任务;b.将上述接收的任务进行任务分解及自动生成expect脚本;c.根据生成的expect脚本,执行上述网络设置任务。其中,所述步骤a具体包括:以网站或者客户端软件的形式呈现给用户,以方便用户进行网络设置任务的发布,以及查看集群网络设置情况;接收并发布用户的网络设置任务,并且跟踪任务的执行情况;及将任务的执行情况记录到数据库中,以跟踪各个节点的网络设置情况。所述的步骤b具体包括:根据集群的拓扑结构,将各个集群节点的网络设置任务分解成一个按顺序执行的系统指令集;根据某个节点要执行的系统指令,生成expect脚本。所述的步骤c具体包括:执行所述expect脚本;在任务执行之后,运行相应的测试指令,检测任务执行是否正确;将任务完成情况发送给客户端,由客户端将任务执行结果持久化。所述的系统指令集包含多个节点。本发明还提供一种基于集群的网络访问控制系统,包括设置模块、处理模块及执行模块,其中:所述设置模块用于接收网络设置任务;所述处理模块用于将上述接收的任务进行任务分解及自动生成expect脚本;所述执行模块用于根据生成的expect脚本,执行上述网络设置任务。其中,所述的设置模块具体用于:以网站或者客户端软件的形式呈现给用户,以方便用户进行网络设置任务的发布,以及查看集群网络设置情况;接收并发布用户的网络设置任务,并且跟踪任务的执行情况;及将任务的执行情况记录到数据库中,以跟踪各个节点的网络设置情况。所述的处理模块具体用于:根据集群的拓扑结构,将各个集群节点的网络设置任务分解成一个按顺序执行的系统指令集;根据某个节点要执行的系统指令,生成expect脚本。所述的执行模块具体用于:执行所述expect脚本;在任务执行之后,运行相应的测试指令,检测任务执行是否正确;将任务完成情况发送给客户端,由客户端将任务执行结果持久化。所述的系统指令集包含多个节点。本发明针对集群网络控制存在的缺点,将集群各个节点的网络访问设置,转移到某一个节点上,大大简化了集群网络控制的难度。本发明通过发布网络节点设置任务,然后自动生成expect脚本并执行,达到控制节点网络访问的目的。本发明能够自动地开启和关闭集群节点的端口,设置端口映射规则,自动设置并控制整个集群的网络访问,使得集群网络管理更加便捷。另外,本发明会对于集群各个节点的设置情况进行记录,方便管理和恢复。附图说明图1为本发明基于集群的网络访问控制方法的流程图;图2为本发明基于集群的网络访问控制系统的硬件架构图。具体实施方式下面结合附图及具体实施例对本发明作进一步详细的说明。参阅图1所示,是本发明基于集群的网络访问控制方法较佳实施例的作业流程图。步骤s1,接收网络设置任务。本实施例采用客户端和服务器的模式进行任务接收,本实施例通过客户端网页对集群节点进行网络设置,并且将上述网络设置记录存入数据库中,以便于管理和恢复。具体包括:s101:任务设置客户端。以网站或者客户端软件的形式呈现给用户,以方便用户进行网络设置任务的发布,以及查看集群网络设置情况。s102:任务接收和发布。接收并发布用户的网络设置任务,并且跟踪任务的执行情况。s103:任务数据持久化。将任务的执行情况记录到数据库中,以跟踪各个节点的网络设置情况。步骤s2,将上述接收的任务进行任务分解及自动生成expect脚本。首先,根据网络设置任务和集群拓扑结构生成可执行的系统指令。然后根据要执行的系统指令,自动生成expect脚本,所述expect脚本用于控制远程节点的指令执行。具体而言:s201:任务自动分解。根据集群的拓扑结构,将各个集群节点的网络设置任务分解成一个按顺序执行的系统指令集,本实施例中该系统指令集可能包含多个节点。s202:expect脚本自动生成。根据某个节点要执行的系统指令,生成expect脚本,从而达到远程控制某个节点的目的。步骤s3,根据生成的expect脚本,执行上述网络设置任务。运行上述expect脚本,当有多个expect脚本要运行时,根据实际情况并行执行。收集任务执行结果,并将结果向客户端反馈。具体而言:s301:expect脚本的执行,当有多个expect脚本要执行时,根据实际情况,并行执行。s302:任务执行情况检测。任务执行之后,运行相应的测试指令,检测任务执行是否正确。s303:任务结果反馈。将任务完成情况发送给客户端,由客户端将任务执行结果持久化。参阅图2所示,是本发明基于集群的网络访问控制系统10的硬件架构图。该系统包括设置模块101、处理模块102及执行模块103。所述设置模块101用于接收网络设置任务。本实施例采用客户端和服务器的模式进行任务接收,本实施例通过客户端网页对集群节点进行网络设置,并且将上述网络设置记录存入数据库中,以便于管理和恢复。所述设置模块101具体用于:任务设置客户端。设置模块101以网站或者客户端软件的形式呈现给用户,以方便用户进行网络设置任务的发布,以及查看集群网络设置情况。任务接收和发布。设置模块101接收并发布用户的网络设置任务,并且跟踪任务的执行情况。任务数据持久化。设置模块101将任务的执行情况记录到数据库中,以跟踪各个节点的网络设置情况。所述处理模块102用于将上述接收的任务进行任务分解及自动生成expect脚本。首先,根据网络设置任务和集群拓扑结构生成可执行的系统指令。然后根据要执行的系统指令,自动生成expect脚本,所述expect脚本用于控制远程节点的指令执行。所述处理模块102具体用于:任务自动分解。处理模块102根据集群的拓扑结构,将各个集群节点的网络设置任务分解成一个按顺序执行的系统指令集,本实施例中该系统指令集可能包含多个节点。expect脚本自动生成。处理模块102根据某个节点要执行的系统指令,生成expect脚本,从而达到远程控制某个节点的目的。所述执行模块103用于根据生成的expect脚本,执行上述网络设置任务。运行上述expect脚本,当有多个expect脚本要运行时,根据实际情况并行执行。收集任务执行结果,并将结果向客户端反馈。所述执行模块103具体用于:expect脚本的执行,当有多个expect脚本要执行时,执行模块103根据实际情况,并行执行。任务执行情况检测。执行模块103在任务执行之后,运行相应的测试指令,检测任务执行是否正确。任务结果反馈。执行模块103将任务完成情况发送给客户端,由客户端将任务执行结果持久化。虽然本发明参照当前的较佳实施方式进行了描述,但本领域的技术人员应能理解,上述较佳实施方式仅用来说明本发明,并非用来限定本发明的保护范围,任何在本发明的精神和原则范围之内,所做的任何修饰、等效替换、改进等,均应包含在本发明的权利保护范围之内。当前第1页12当前第1页12