面向大规模网络监测的虚拟化部署系统和方法转让专利

申请号 : CN201210005028.5

文献号 : CN102437938B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 金跃辉崔毅东张欣蕊杨谈宋茂强

申请人 : 北京邮电大学

摘要 :

一种面向大规模网络监测的虚拟化部署系统与方法,该系统设有一个部署中心平台和通过网络与其通信的多个部署目标机。部署中心平台负责统一规划和管理整个计算机网络中测量探针部署的拓扑结构,并结合现有测量探针部署情况和网络拥塞情况下发部署任务,并对部署的测量探针进行管理和版本控制。部署目标机接收与执行部署中心平台的命令,自动执行相应操作,使其成为网络中可用的测量探针;并分别利用软件依赖检测机制和进程匹配原则实现部署的平台无关性和验证部署的成功性。本发明解决了现有技术存在的目标机部署环境的依赖性检测、管理系统版本的升级与维护、众多目标机并发部署、自动安装与检测,以及动态调度等多个问题,有很好的推广应用前景。

权利要求 :

1.一种面向大规模网络监测的虚拟化部署系统,其特征在于:所述系统包括:一个部署中心平台和通过网络与其通信的多个部署目标机,其中,

所述部署中心平台,负责收集整个计算机网络中测量探针部署的拓扑结构,以便统一规划和管理,并结合现有的测量探针部署情况和网络拥塞情况下发部署任务:确定待部署测量探针的拓扑位置,并在该位置执行测量探针的部署;在测量探针部署前,检测部署目标机的系统环境,以保证部署的兼容性;在测量探针部署后,收集和储存部署结果,更新当前部署拓扑;并对部署的测量探针进行管理和版本控制;该平台设有:测量探针部署模块和分别与其连接的部署环境检测模块、系统版本管理模块、部署拓扑管理模块和通信模块;

所述部署目标机,负责接收与执行来自部署中心平台的命令,包括对部署中心平台发送的依赖软件和测量探针软件进行自动安装,并在把部署结果回送部署中心平台后,自动启动相应操作,使其成为网络中可用的测量探针;该部署目标机利用软件依赖检测机制实现部署的平台无关性,利用进程匹配原则验证部署的成功性;设有:依赖检测执行模块、部署执行模块和通信模块。

2.根据权利要求1所述的虚拟化部署系统,其特征在于:所述部署中心平台的各个模块功能如下:

部署拓扑管理模块,作为部署中心平台拓扑管理的呈现界面,用于收集现有部署的测量探针信息,并储存到数据库和利用WEB呈现;该数据库中保存有能够部署测量探针的主机的用户名和密码信息,以便利于后续部署操作;

系统版本管理模块,负责系统版本的管理和控制,所述系统版本包括测量探针安装包和部署前需要安装的依赖环境安装包;因虚拟化部署系统为每个目标机保存一个记录,该记录中存储有该目标机的配置、部署与部署结果的相关数据,以方便部署后对目标机进行管理和升级;系统版本统一存放于该模块的系统版本库,并由该管理模块对系统版本进行添加、删除、升级、获取操作;

部署环境检测模块,因目标机的环境版本多,运行环境的差异大,该模块负责在测量探针部署前,先检测部署目标机的运行环境并收集依赖检测结果,再根据依赖检测结果,从系统版本管理模块的系统版本库中提取相应的依赖软件安装包,对部署目标机进行依赖部署;然后,根据依赖部署的结果确定是否开始测量探针系统版本的部署操作;

测量探针部署模块,作为该部署中心平台的核心,负责执行部署目标机的测量探针部署操作:先从部署环境检测模块获取部署环境能够满足条件的结果,在确认无误后,向系统版本管理模块申请需要部署的测量探针系统版本,然后在部署目标机上进行自动部署;且部署过程利用适配器模式实现的并发部署操作,完成部署后,再把部署结果上交部署拓扑管理模块进行处理;

通信模块,连接部署中心平台和部署目标机之间的桥梁,也是部署中心平台对部署目标机下发命令和传送系统版本的通道。

3.根据权利要求1所述的虚拟化部署系统,其特征在于:所述部署目标机的各个模块功能如下:

依赖检测执行模块,负责依赖检测命令的解析和依赖系统版本的自动安装:该模块从部署中心平台下发的依赖检测命令文件中提取依赖检测命令并执行之,并将依赖检测结果反馈部署中心平台,以便获取相应的部署系统版本后,再自动安装依赖系统版本,并将安装结果返回部署中心平台;该依赖检测命令描述文件采用可扩展标记语言XML编写,具有极好的可扩展性;

部署执行模块,负责部署命令描述文件的解析和部署系统版本的自动安装,并在安装后完成测量探针的自启动:从部署中心平台获取测量探针系统版本并自动安装之,在将安装结果反馈部署中心平台后,自启动测量探针,使该测量探针成为网络中的可用测量节点;

通信模块,设有两个通道:接收系统版本通道和部署状态回复通道,前者利用在各种操作系统平台下通用的SSH协议通信,其数据传输速率高,能在短时间内完成系统版本的接收;后者的数据传送速率要求不高,利用网络套接字通信。

4.根据权利要求1所述的虚拟化部署系统,其特征在于:所述部署中心平台是设置在服务器的虚拟化监测平台上;所述部署目标机是计算机网络中被选作为测量探针的小型嵌入式系统、普通PC机或虚拟机。

5.根据权利要求1所述的虚拟化部署系统,其特征在于:所述系统支持多种格式的测量数据的采集和分析,支持多种通信方式的数据传输,并在传输过程中执行负载均衡策略,支持测量探针的动态加入和退出,以使多个测量探针能动态生成最优拓扑,以平衡网络的负载和流量。

6.一种采用权利要求1所述的虚拟化部署系统的虚拟化部署方法,其特征在于:部署中心平台先依据部署拓扑管理模块分析现有的网络状态,提出网络拓扑中亟需部署测量探针的主机,并将该网络拓扑中亟需部署测量探针的主机信息传送给部署环境检测模块;部署环境检测模块通过通信模块与部署目标机通信,并检测部署环境,再由部署目标机将检测结果发送到部署中心平台;部署中心平台根据部署环境的检测结果执行下述操作:向部署目标机发送部署环境系统版本和等待部署环境系统版本的安装结果,或者把部署环境检测通过的结果转交给测量探针部署模块;测量探针部署模块连接部署目标机,部署目标机的部署执行模块自动安装测量探针系统版本,并在安装后,把结果回送到部署中心平台,部署中心平台记录部署结果;如若依赖系统版本或测量探针系统版本有更新时,系统版本管理模块会发出通知,提示是否开始依赖系统版本或测量探针版本的升级,并在通过后,自动执行升级操作。

7.根据权利要求6所述的虚拟化部署方法,其特征在于:所述方法包括下列操作步骤:

(1)部署中心平台中的拓扑管理模块获取提取现有网络拓扑,结合当前网络状况与现有测量探针的部署情况,给出网络中亟需部署测量探针的主机,并将该主机用户名和密码信息发送给通信模块;

(2)部署中心平台通过通信模块利用适配器模式连接一个或多个部署目标机执行多机并发部署,以提高部署效率;

(3)连接成功后,部署中心平台中通过部署目标机的依赖检测执行模块检测部署目标机的部署环境,并回收依赖检测结果;如果通过该依赖检测,则执行后续操作步骤(4);否则,部署中心平台的部署环境检测模块将部署目标机缺少的依赖软件通过通信模块发送至部署目标机,并由部署目标机的依赖检测执行模块安装之,并将安装结果回送到部署中心平台进行储存;

(4)部署中心平台的测量探针部署模块对部署目标机进行测量探针的部署,部署目标机利用部署执行模块自动执行部署操作,并将部署结果发送给部署中心平台处理。

8.根据权利要求7所述的虚拟化部署方法,其特征在于:所述步骤(2)中,管理中心平台采用的并发部署操作将进程类适配成线程类,以使进程具备线程的异步性,并能同时获得构造参数;以便解决管理中心平台利用网络套接字通信容易阻塞于第一个连接的问题,又很好利用了线程提供的默认异步机制。

9.根据权利要求7所述的虚拟化部署方法,其特征在于:所述步骤(3)包括下列操作内容:

(31)发送工作环境检测包:当部署中心平台与部署目标机连接成功后,部署环境检测模块向部署目标机发送包括部署描述文档和部署环境检测脚本的部署环境检测包;所述部署描述文档采用XML语言编写,分别描述不同系统类型的部署目标机的部署环境:包括操作系统类型、部署要求权限、部署命令、依赖软件存在性和部署结果五部分,并提供相应的检测依据;所述部署环境检测脚本采用Python语言编写,该Python语言对于XML文件解析设有专用库,调用XML文件解析方法,就能解析部署描述文档并检测部署环境;

(32)自动检测部署环境:部署目标机的依赖检测执行模块利用检测脚本提取部署描述文档信息,自动检测部署目标机的部署环境,并把环境检测结果自动保存于结果文件;

(33)回收部署环境检测结果:部署中心平台接收到经由部署目标机的通信模块反馈的检测结果文件,从中提取相关信息后,自动执行如下处理操作:如若部署环境满足部署要求,则由测量探针部署模块对该部署目标机进行测量探针的部署,即执行后续步骤(4);否则,若发现部署目标机缺少依赖软件,则由部署目标机的依赖检测执行模块自动进行依赖系统版本的安装,并将结果发回部署中心平台,以便部署中心平台对部署环境检测结果重新处理。

10.根据权利要求7所述的虚拟化部署方法,其特征在于:所述步骤(4)包括下列操作内容:

(41)发送测量探针安装包:部署环境检测模块通知测量探针部署模块开始自动部署后,测量探针部署模块经由通信模块向部署目标机发送测量探针安装软件包,为避免网络环境不佳造成系统版本文档的接收不完整或不正确,部署目标机需对接收的系统版本文档进行消息摘要算法第五版MD5(Message Digest Algorithm5)校验,只有接收正确,才执行后续自动部署步骤(42);否则,要求部署中心平台重发该测量探针安装软件包;

(42)自动部署测量探针:部署目标机的部署执行模块解析部署描述文档信息,执行测量探针的自动部署操作;并在完成部署后,自动启动测量探针,使之成为网络中可用的测量节点;因由程序自动完成测量探针的部署,在部署过程中可能由于运行环境差异或其他因素导致部署失败或异常,所以完成部署后,必须执行正确性验证:部署执行模块设有相应的部署正确性验证和容错处理策略,在Linux环境下,采用进程匹配进行正确性验证:若验证结果为正确,则执行后续步骤(43);一旦出现异常,立即向部署中心平台告警,以便采取相应措施;

(43)回收部署结果:部署目标机生成部署结果后,直接通过通信模块回送部署中心平台;部署中心平台针对部署结果执行如下处理:若是部署成功,则将成为测量探针的节点信息传送给部署拓扑管理模块,以便对其执行管理与控制;若是部署失败,则产生告警信息,等待人力处理。

说明书 :

面向大规模网络监测的虚拟化部署系统和方法

技术领域

[0001] 本发明涉及一种用于大规模IP网络监测的虚拟化部署系统和方法,属于大规模计算机网络和分布式数据采集系统与采集方法的技术领域。

背景技术

[0002] 随着各种网络技术的快速发展与产品的普及,以及用户和业务种类的不断增加,网络变得越来越复杂;不断增加的用户和应用,导致网络负担沉重,从而引起网络性能下降,这就需要对网络的性能指标进行提取和分析。网络性能数据对于分析网络行为、了解网络故障、规划新业务等都有很重要的参考价值。
[0003] 由于现今的计算机网络复杂且庞大,对其进行实时监测具有相当难度,所以研制一种面向大规模网络测量的监测系统和方法具有积极意义。如何根据具体监测目标,准确、灵活地部署监测任务,并减少人工干预,对于计算机网络的性能监测十分关键。监控数据的收集可以藉由大规模网络测量中部署的测量探针来完成之,但是,部署这些测量探针需要由一个中心平台进行宏观调控。该中心平台通常运行在可以自我维护和管理的大型服务资源池上,这些资源池是由单台服务器或服务器集群所组成。由中心平台控制的监测探针能够根据计算机网络情况,动态部署在待监测位置。这种根据被监测计算机网络的监测需求,动态部署监测探针的大规模网络监测的虚拟化部署系统,能够满足庞大计算机网络的性能监测需求,并动态承载监测网络拓扑的部署需求。
[0004] 下面先介绍本发明使用的相关技术术语的涵义或定义:
[0005] 虚拟化部署:一种以虚拟化系统平台或虚拟机作为部署目标点的部署方式,其特点是屏蔽了系统内部差别,统一部署接口,提高可扩展性,降低管理难度。
[0006] 虚拟化部署系统:一种面向大规模网络测量的,以监测拓扑部署及管理为主要功能的分布式系统。用于解决监测计算机网络,动态部署监测环境的需求,能够为用户提供所需的监测环境。
[0007] 中心平台:由单个服务器或服务器集群组成的、用于执行部署调度控制功能的装置。
[0008] 目标机:作为虚拟化部署目标的终端,可以运行在PC实体机或虚拟机上。部署成功后,目标机将成为大规模网络测量系统中的测量探测点。
[0009] RPM(RedHat Package Manager):一种主流的商业级LINUX操作系统RedHat的软件包管理工具或开放的软件包管理系统,虽然文件格式名称注明其与REDHAT相关,但其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.和Turbo Linux等Linux的分发版本都采用其进行设计和管控,已被公认为行业标准。其工作于Red Hat Linux以及其它Linux和UNIX系统,可被任何人使用。
[0010] 可扩展标记语言XML(Extensible Markup Language):它的标记是计算机能够理解的信息符号,计算机之间通过该标记可以处理含有各种信息的文档,其需要依靠另一种语言对其进行解释,以使其达到想要的效果或被计算机所接受。
[0011] 适配器模式Adapter:作为一种非常实用的设计模式,用于将原始接口转换为所希望的另一接口,以解决原来因彼此接口不兼容导致不能一起工作的问题。
[0012] SSH(Secure Shell Hibernate):作为目前Linux系统中应用最广泛的协议之一,它是一种经过加密的数据传输协议,能够防止DNS和IP欺骗,并且会对传输的数据进行加密,从而加快传输速度。
[0013] 消息摘要算法第五版MD5(Message Digest Algorithm5):一种对接收的传输数据执行散列运算来检查该数据正确性的校验方式,具体方法是把计算得到的散列值与随着数据传输的散列值进行比较,若两个值相同,说明传输的数据完整无误,未被篡改,可以放心使用。该校验方式应用于许多领域,例如:机密资料和下载文件的检验等。
[0014] 现有技术中,网络测量的测量探针大多采用人工方式完成部署的。具体方法是工作人员到达需要部署测量探针的地理位置,在物理机上手动安装测量装置。对于大规模计算机网络进行监测时,因为需要部署数量非常多的测量探针,而且其分布位置相隔遥远。如果人工安装势必耗费大量的人力和物力,增加监测成本。最重要的是,人工部署的测量探针在管理维护和版本控制上极其不便。如果需要对测量探针进行改进或升级,这些数量众多的测量探针仍然依靠人工升级维护,这就显得很不合理。因此现有的部署方式很难达到或满足监测大规模计算机网络的需求。因此,如何对其进行改进,就成为业内科技人员关注的焦点课题。

发明内容

[0015] 有鉴于此,本发明的目的是提供一种面向大规模网络监测的虚拟化部署系统和方法,用于解决目前现有技术存在的目标部署环境的依赖性检测和众多目标机的并发部署等问题。
[0016] 为了达到上述发明目的,本发明提供了一种面向大规模网络监测的虚拟化部署系统,其特征在于:所述系统包括:一个部署中心平台和通过网络与其通信的多个部署目标机,其中,
[0017] 所述部署中心平台,负责收集整个计算机网络中测量探针部署的拓扑结构,以便统一规划和管理,并结合现有的测量探针部署情况和网络拥塞情况下发部署任务:确定待部署测量探针的拓扑位置,并在该位置执行测量探针的部署;在测量探针部署前,检测部署目标机的系统环境,以保证部署的兼容性;在测量探针部署后,收集和储存部署结果,更新当前部署拓扑;并对部署的测量探针进行管理和版本控制;该平台设有:测量探针部署模块和分别与其连接的部署环境检测模块、系统版本管理模块、部署拓扑管理模块和通信模块;
[0018] 所述部署目标机,负责接收与执行来自部署中心平台的命令,包括对部署中心平台发送的依赖软件和测量探针软件进行自动安装,并在把部署结果回送部署中心平台后,自动执行相应操作,使其成为网络中可用的测量探针;该部署目标机利用软件依赖检测机制实现部署的平台无关性,利用进程匹配原则验证部署的成功性;设有:依赖检测执行模块、部署执行模块和通信模块。
[0019] 为了达到上述发明目的,本发明还提供了一种面向大规模网络监测的虚拟化部署系统的虚拟化部署方法,其特征在于:部署中心平台先依据部署拓扑管理模块分析现有的网络状态,提出网络拓扑中亟需部署测量探针的主机,并将该网络拓扑中亟需部署测量探针的主机信息传送给部署环境检测模块;部署环境监测模块通过通信模块与部署目标机通信,并检测部署环境,再由部署目标机将检测结果发回至部署中心平台;部署中心平台根据部署环境的检测结果执行下述操作:向部署目标机发送部署环境系统版本和等待部署环境系统版本的安装结果,或者把部署环境检测通过的结果转交给测量探针部署模块;测量探针部署模块连接部署目标机,部署目标机的部署执行模块自动安装测量探针系统版本,并在安装后,把结果回送到部署中心平台,部署中心平台记录部署结果;如若依赖系统版本或测量探针系统版本有更新时,系统版本管理模块会发出通知,提示是否开始依赖系统版本或测量探针版本的升级,并在通过后,自动执行升级操作。
[0020] 本发明具有下述有益效果:采用该方法,能够结合当前大规模网络现状和已有的大规模网络监测节点的部署情况,选择需要另行部署的网络监测节点的拓扑位置,实现了按需调整的传输资源重构。本发明支持部署目标机环境检测的自动完成,并且,针对不同系统的部署目标机,发送现有的不同工作环境检测的描述文档,实现了部署目标机的操作系统与监测软件的分离,部署监测软件时无需重新部署操作系统,有效提高了虚拟化监测部署环境的工作效率。本发明系统利用部署中心平台中的系统版本管理模块,管理系统版本的升级与维护,一旦系统版本库更新,自动提示升级测量探针软件,能够准确有效地控制测量探针的软件版本。具有良好的可拓展性,支持部署目标机能动态加入该虚拟化部署系统,并且可以部署在网络中的任何设定位置;也支持多机并发部署,具有良好的部署效率。总之,本发明具有很好的推广应用前景。

附图说明

[0021] 图1是本发明面向大规模网络监测的虚拟化部署系统的结构组成和数据流示意图。
[0022] 图2是本发明面向大规模网络监测的虚拟化部署系统的监测方法流程图。

具体实施方式

[0023] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明作进一步的详细描述。
[0024] 本发明解决其技术问题所采用的技术方案是:将面向大规模网络测量的虚拟化部署系统由两种设备组成:分别为部署中心平台和部署目标机。
[0025] 参见图1,介绍本发明面向大规模网络监测的虚拟化部署系统的结构组成:该系统设有一个部署中心平台和通过网络与其通信的多个部署目标机。其中,[0026] 部署中心平台,作为该系统的控制中心,负责收集整个计算机网络中测量探针部署的拓扑结构,进行统一规划和管理;并结合现有的测量探针部署情况和网络拥塞情况下发部署任务:确定待部署测量探针的拓扑位置,并在该位置执行测量探针的部署;在测量探针部署前,检测部署目标机的系统环境,以保证部署的兼容性;在测量探针部署后,收集和储存部署结果,更新当前部署拓扑;并对部署的测量探针进行管理和版本控制。该部署中心平台设置在服务器的虚拟化监测平台上,设有下述功能模块:测量探针部署模块和分别与其连接的部署环境检测模块、系统版本管理模块、部署拓扑管理模块和通信模块。其中,[0027] 部署拓扑管理模块,作为部署中心平台拓扑管理的呈现界面,用于收集现有部署的测量探针信息,并储存到数据库和利用WEB呈现;该数据库中保存有能够部署测量探针的主机的用户名和密码信息,以便利于后续部署操作。
[0028] 系统版本管理模块,负责系统版本的管理和控制,所述系统版本包括测量探针安装包和部署前需要安装的依赖环境安装包;因虚拟化部署系统为每个目标机保存一个记录,该记录中存储有该目标机的配置、部署与部署结果的相关数据,以方便部署后对目标机进行管理和升级;系统版本统一存放于该模块的系统版本库,并由该管理模块对系统版本进行添加、删除、升级、获取操作。
[0029] 部署环境检测模块,因目标机的环境版本多,运行环境的差异大,该模块负责在测量探针部署前,先检测部署目标机的运行环境并收集依赖检测结果,再根据依赖检测结果,从系统版本管理模块的系统版本库中提取相应的依赖软件安装包,对部署目标机进行依赖部署;然后,根据依赖部署的结果确定是否开始测量探针系统版本的部署操作。
[0030] 测量探针部署模块,作为该部署中心平台的核心,负责执行部署目标机的测量探针部署操作:先从部署环境检测模块获取部署环境能够满足条件的结果,在确认无误后,向系统版本管理模块申请需要部署的测量探针系统版本,然后在部署目标机上进行自动部署;且部署过程利用适配器模式实现并发部署操作,完成部署后,再把部署结果上交部署拓扑管理模块进行处理;
[0031] 通信模块,连接部署中心平台和部署目标机之间的桥梁,也是部署中心平台向部署目标机下发命令和传送系统版本的通道。
[0032] 部署目标机,是计算机网络中被选作为测量探针的小型嵌入式系统、普通PC机或虚拟机。作为该系统的执行终端,负责接收与执行来自部署中心平台的命令,包括自动安装由部署中心平台发送的依赖软件和测量探针软件,并在把部署结果回送部署中心平台后,自动执行相应操作,使其成为网络中可用的测量探针。该部署目标机利用软件依赖检测机制实现部署的平台无关性,利用进程匹配原则验证部署的成功性。设有下述功能模块:依赖检测执行模块、部署执行模块和通信模块;各个模块功能如下:
[0033] 依赖检测执行模块,负责依赖检测命令的解析和依赖系统版本的自动安装:该模块从部署中心平台下发的依赖检测命令文件中提取依赖检测命令并执行之,并将依赖检测结果反馈部署中心平台,以便获取相应的部署系统版本后,再自动安装依赖系统版本,并将安装结果返回部署中心平台;该依赖检测命令描述文件采用可扩展标记语言XML(Extensible Markup Language)编写,具有极好的可扩展性。
[0034] 部署执行模块,负责部署命令描述文件的解析和部署系统版本的自动安装,并在安装后完成测量探针的自启动:从部署中心平台获取测量探针系统版本并自动安装之,在将安装结果反馈部署中心平台后,自启动测量探针,使该测量探针成为网络中的可用测量节点。
[0035] 通信模块,设有两个通道:接收系统版本通道和部署状态回复通道,前者利用在各种操作系统平台下通用的SSH协议通信,其数据传输速率高,能在短时间内完成系统版本的接收;后者的数据传送速率要求不高,利用网络套接字通信。
[0036] 本发明系统支持多种格式的测量数据的采集和分析,支持多种通信方式的数据传输,并在传输过程中执行负载均衡策略,支持测量探针的动态加入和退出,以使多个测量探针能动态生成最优拓扑,以平衡网络的负载和流量。
[0037] 本发明还提供了一种面向大规模网络监测的虚拟化部署系统的虚拟化部署方法,该方法是:部署中心平台首先依据部署拓扑管理模块分析现有网络状态,提出网络拓扑中亟需部署测量探针的主机,并将该信息传送至部署环境检测模块。部署环境监测模块通过通信模块与部署目标机通信,并检测部署环境,再由部署目标机将检测结果发回给部署中心平台。部署中心平台根据部署环境的检测结果执行下述操作:向部署目标机发送部署环境系统版本和等待部署环境系统版本的安装结果,或者把部署环境检测通过的结果转交给测量探针部署模块;测量探针部署模块连接部署目标机,部署目标机的部署执行模块自动安装测量探针系统版本,并在安装后,把结果回送到部署中心平台,部署中心平台记录部署结果。如若依赖系统版本或测量探针系统版本有更新时,系统版本管理模块会发出通知,提示是否开始依赖系统版本或测量探针版本的升级,并在通过后,自动执行升级操作。
[0038] 参见图2,介绍本发明方法的具体操作步骤:
[0039] 步骤1,部署中心平台中的拓扑管理模块获取提取现有网络拓扑,结合当前网络状况与现有测量探针的部署情况,给出网络中亟需部署测量探针的主机,并将该主机用户名和密码信息发送给通信模块。
[0040] 步骤2,部署中心平台通过通信模块利用适配器模式连接一个或多个部署目标机执行多机并发部署,以提高部署效率。该步骤中,管理中心平台采用的多机并发部署操作将进程类适配成线程类,以使进程具备线程的异步性,并能同时获得构造参数;以便解决管理中心平台利用网络套接字通信容易阻塞于第一个连接的问题,又很好利用了线程提供的默认异步机制。
[0041] 步骤3,连接成功后,部署中心平台中通过部署目标机的依赖检测执行模块检测部署目标机的部署环境,并回收依赖检测结果;如果通过该依赖检测,则执行后续操作步骤4;否则,部署中心平台的部署环境检测模块将部署目标机缺少的依赖软件通过通信模块发送至部署目标机,并由部署目标机的依赖检测执行模块安装之,并将安装结果回送到部署中心平台进行储存。该步骤包括下列操作内容:
[0042] (31)发送工作环境检测包:当部署中心平台与部署目标机连接成功后,部署环境检测模块向部署目标机发送包括部署描述文档和部署环境检测脚本的部署环境检测包;所述部署描述文档采用XML语言编写,分别描述不同系统类型的部署目标机的部署环境:包括操作系统类型、部署要求权限、部署命令、依赖软件存在性和部署结果五部分,并提供相应的检测依据;所述部署环境检测脚本采用Python语言编写,该Python语言对于XML文件解析设有专用库,调用XML文件解析方法,就能解析部署描述文档并检测部署环境;
[0043] (32)自动检测部署环境:部署目标机的依赖检测执行模块利用检测脚本提取部署描述文档信息,自动检测部署目标机的部署环境,并把环境检测结果自动保存于结果文件;
[0044] (33)回收部署环境检测结果:部署中心平台接收到经由部署目标机的通信模块反馈的检测结果文件,从中提取相关信息后,自动执行如下处理操作:如若部署环境满足部署要求,则由测量探针部署模块对该部署目标机进行测量探针的部署,即执行后续步骤(4);否则,若发现部署目标机缺少依赖软件,则由部署目标机的依赖检测执行模块自动进行依赖系统版本的安装,并将结果发回部署中心平台,以便部署中心平台对部署环境检测结果重新处理。
[0045] 步骤4,部署中心平台的测量探针部署模块对部署目标机进行测量探针的部署,部署目标机利用部署执行模块自动执行部署操作,并将部署结果发送给部署中心平台处理。该步骤(4)包括下列操作内容:
[0046] (41)发送测量探针安装包:部署环境检测模块通知测量探针部署模块开始自动部署后,测量探针部署模块经由通信模块向部署目标机发送测量探针安装软件包,为避免网络环境不佳造成系统版本文档的接收不完整或不正确,部署目标机需对接收的系统版本文档进行消息摘要算法第五版MD5(Message Digest Algorithm5)校验,只有接收正确,才执行后续自动部署步骤(42);否则,要求部署中心平台重发该测量探针安装软件包;
[0047] (42)自动部署测量探针:部署目标机的部署执行模块解析部署描述文档信息,执行测量探针的自动部署操作;并在完成部署后,自动启动测量探针,使之成为网络中可用的测量节点;因由程序自动完成测量探针的部署,在部署过程中可能由于运行环境的差异导致部署失败或异常,所以完成部署后,必须执行正确性验证:部署执行模块设有相应的部署正确性验证和容错处理策略,在Linux环境下,采用进程匹配进行正确性验证:若验证结果为正确,则执行后续步骤(43);一旦出现异常,立即向部署中心平台告警,以便采取相应措施;
[0048] (43)回收部署结果:部署目标机生成部署结果后,直接通过通信模块回送部署中心平台;部署中心平台针对部署结果执行如下处理:若是部署成功,则将成为测量探针的节点信息传送至部署拓扑管理模块,以便对其执行管理与控制;若是部署失败,则产生告警信息,等待人力处理。
[0049] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。