基于虚拟计算任务的运行监测系统及方法

文档序号:7870788阅读:109来源:国知局
专利名称:基于虚拟计算任务的运行监测系统及方法
技术领域
本发明属于虚拟计算领域,具体涉及一种基于虚拟计算任务的运行监测系统及方法。
背景技术
面对虚拟计算环境中的海量、动态、自主的资源,现有的运行监测(网管)技术存在着网管系统资源开销大、扩展性不足、灵活性不足、采集权限不足等问题。现有的网管手段主要采用的是基于SNMP的网管系统。SNMP的模型包括了管理节点(Management Node,简称 MN)和管理站(Management Station,简称 MS)。MN 上运行 SNMP代理程序(SNMP agent),并通过维护一个本地数据库来描述MN的状态。MS上运行网络管理软件(Manager),通过SNMP协议来获得MN上的SNMP代理信息。SNMP代理提供对象标识符(OID-ObjectIdentifiers),每个OID是一个键值对。SNMP代理维护本地OID值,MS负责监测OID值。MIB(Management Information Base)提供了 OID到可读文本的映射,便于网络管理人员直观操作。SNMP协议通过UDP端口 161、162进行通信。目前的网络管理系统很多,典型的包括 IBM 的 Tivoli Monitoring、HP 的 Openview 等。基于SNMP的网络管理是传统企业计算中采用的模式,它的前提是监测者对于资源有着很强的管理权限,SNMP协议中所采用的安全认证措施,例如团体字(Community)、或者访问控制权限只有资源管理者才能拥有,这与虚拟资源是松散组合的方式相矛盾。虚拟资源的运营者无法获取资源的SNMP访问权限。SNMP协议也往往会被防火墙所拦截,无法穿越。此外,SNMP所监测的内容有限,是各种设备上预先定义好的MI B库中的信息,所监测的内容受限于设备上的SNMP代理所支持的内容,难以扩展,无法采集设备OID之外的信息。最后,MS需要执行大量的SNM P调用,自身侧的计算开销较大,如果监测百万量级的节点需要很多MS设备(千级以上),成本开销很大。

发明内容
为克服上述缺陷,本发明提供了一种基于虚拟计算任务的运行监测系统及方法,通过对互联网上的自主资源进行集成和综合利用,为用户及应用提供安全、透明的服务环境。为实现上述目的,本发明提供一种基于虚拟计算任务的运行监测系统,其改进之处在于,所述系统,包括:虚拟计算环境和对其进行资源监测的运行监测系统。本发明提供的优选技术方案中,所述虚拟计算环境,包括:任务代理层、资源代理层和虚拟资源层;所述任务代理层设置有任务下发接口 ;所述任务代理层对应用层提供任务接口,通过接口接收用户提交的计算任务,同时所述任务代理层获取资源信息,从而对任务和资源进行匹配,对任务进行调度;所述资源代理层对虚拟资源进行注册、管理和分析,并向所述任务代理层发布资源,提供虚拟资源的代理服务,支撑所述任务管理层的任务调度策略;所述虚拟资源层对资源进行虚拟化,接收下发的任务并执行,之后提交结果。
本发明提供的第二优选技术方案中,所述运行监测系统,包括:依次连接的采集子系统、存储分析子系统和界面。本发明提供的第三优选技术方案中,所述采集子系统,包括:监测节点获取模块、基础状态采集模块和监测任务下发模块;监测节点获取模块通过所述资源代理层的资源接口获得资源,并将获得的资源传输到所述基础状态采集模块;所述基础状态采集模块,将采集基础信息所需要运行的代码封装成虚拟计算任务,将虚拟资源列表和要在其上执行的虚拟计算任务传递到监测任务下发模块,并负责收集所返回的监测结果;所述监测任务下发模块采用任务投递的方式将采集虚拟资源状态的虚拟任务,通过任务代理层的任务下发接口传输到虚拟资源节点上执行。本发明提供的第四优选技术方案中,所述存储分析子系统,包括:数据分析模块和存储其采集数据的数据存储模块。本发明提供的第五优选技术方案中,所述数据分析模块,负责将采集到的消息和文件进行解析,并对数据进行分析。本发明提供的第六优选技术方案中,界面,用来图形化的展示系统运行状态,实时地展现节点资源的利用率,网络流量、任务的执行状态信息,并能够提供系统告警服务。本发明提供的第七优选技术方案中,提供一种基于虚拟计算任务的运行监测方法,其改进之处在于,所述方法包括如下步骤:(I).将监测资源状态的程序封装为虚拟计算任务,并根据不同的采集频率、数据内容,定制不同的虚拟计算任务;(2).将资源状态监测程序以任务的形式下发给需要监测的虚拟资源;(3).虚拟资源按照要求执行这些任务,将执行结果提供给网管系统;其中,任务的执行结果就是监测的数据。本发明提供的第八优选技术方案中,在所述步骤I中,基于虚拟计算模式来开发采集任务程序,采集任务根据需求分为不同类型,按照要采集对象的特点和采集信息的类型、采集时间间隔定制不同的采集程序;对于变化频率低的信息,作为静态采集任务执行;对于变化频率快的动态数据,作为动态采集任务执行。本发明提供的第九优选技术方案中,静态数据,包括:CPU类型、操作系统类型、内存大小和硬盘大小;动态数据,包括:CPU利用率、内存利用率、系统平均负载、任务ID、启动时间和结束时间。本发明提供的第十优选技术方案中,在所述步骤2中,将采集任务通过任务代理层下发至虚拟资源,虚拟资源收到任务后,作为守护进程进行执行;任务代理层接收用户提交的计算任务,同时获取各种资源信息,从而对任务和资源进行匹配和调度,通过虚拟计算资源的聚合与协同机制来执行用户提交的计算任务;资源代理层对虚拟资源进行注册、管理和分析,并面向任务代理层进行资源发布,提供虚拟资源的代理服务,支撑任务管理层的任务调度策略;虚拟资源层对资源进行虚拟化,接收并执行任务,之后提交执行结果。 本发明提供的较优选技术方案中,在所述步骤3中,将执行结果通过XML文件或者消息文件的形式提供给网管系统;采用“推”和“拉”两种方式采集任务运行的监测结果。本发明提供的第二较优选技术方案中,“推”的方式是指虚拟节点上运行的任务主动把结果推送给监测系统;“拉”的方式是指由监测系统在虚拟节点上下载运行结果。
与现有技术比,本发明提供的一种基于虚拟计算任务的运行监测系统及方法,可以方便的调整虚拟计算任务来灵活调整网管监测内容和数据,可以任意灵活扩展监测内容和频度;如果监测系统需要对全局采集新的数据,或者针对某些特定节点定制化采集数据,可以很方便的通过调整采集虚拟任务、调整任务执行频率或者参数等实现;而且,将网管系统的部分计算开销分解到虚拟资源上执行,可以节约网络监测系统的资源消耗,监测系统只需要回收结果即可,大大降低了监测系统的计算成本,降低了网管系统自身的资源开销,以尽可能少的资源来管理尽可能多的资源,实现网管系统的良好扩展性和低开销成本。


图1为基于虚拟计算任务的运行监测系统的结构示意图。图2为运行监测系统的结构示意图。
具体实施例方式如图1所示,一种基于虚拟计算任务的运行监测系统,包括:虚拟计算环境(虚拟计算环境包括交底书的任务代理层、资源代理层和虚拟资源层)和对其进行资源监测的运行监测系统。所述虚拟计算环境,包括:任务代理层、资源代理层和虚拟资源层;所述任务代理层对应用层提供任务接口,通过接口接收用户提交的计算任务,同时所述任务代理层获取资源信息,从而对任务和资源进行匹配,对任务进行调度;所述资源代理层对虚拟资源进行注册、管理和分析,并向所述任务代理层发布资源,提供虚拟资源的代理服务,支撑所述任务管理层的任务调度策略;所述虚拟资源层对资源进行虚拟化,接收下发的任务并执行,之后提交结果。如图2所示,所述运行监测系统,包括:依次连接的采集子系统、存储分析子系统和界面。所述采集子系统,包括:监测节点获取模块、基础状态采集模块和监测任务下发模块;监测节点获取模块通过所述资源代理层的资源接口获得资源,并将获得的资源传输到所述基础状态采集模块;所述基础状态采集模块,将采集基础信息所需要运行的代码封装成虚拟计算任务,将虚拟资源列表和要在其上执行的虚拟计算任务传递到监测任务下发模块,并负责收集所返回的监测结果;所述监测任务下发模块采用任务投递的方式将采集虚拟资源状态的虚拟任务,通过任务代理层的任务下发接口传输到虚拟资源节点上执行。所述存储分析子系统,包括:数据分析模块和存储其采集数据的数据存储模块。所述数据分析模块,负责将采集到的消息和文件进行解析,并对数据进行分析。界面,用来图形化的展示系统运行状态,实时地展现节点资源的利用率,网络流量、任务的执行状态信息,并能够提供系统告警服务。一种基于虚拟计算任务的运行监测方法,包括如下步骤:(I).将监测资源状态的程序封装为虚拟计算任务,并根据不同的采集频率、数据内容,定制不同的虚拟计算任务;(2).将资源状态监测程序以任务的形式下发给需要监测的虚拟资源;(3).虚拟资源按照要求执行这些任务,将执行结果提供给网管系统;
其中,任务的执行结果就是监测的数据。在所述步骤I中,基于虚拟计算模式来开发采集任务程序,采集任务根据需求分为不同类型,按照要采集对象的特点和采集信息的类型、采集时间间隔定制不同的采集程序;对于变化频率低的信息,作为静态采集任务执行;对于变化频率快的动态数据,作为动态米集任务执行。静态数据,包括:CPU类型、操作系统类型、内存大小和硬盘大小;动态数据,包括:CPU利用率、内存利用率、系统平均负载、任务ID、启动时间和结束时间。在所述步骤2中,将采集任务通过任务代理层下发至虚拟资源,虚拟资源收到任务后,作为守护进程进行执行;任务代理层接收用户提交的计算任务,同时获取各种资源信息,从而对任务和资源进行匹配和调度,通过虚拟计算资源的聚合与协同机制来执行用户提交的计算任务;资源代理层对虚拟资源进行注册、管理和分析,并面向任务代理层进行资源发布,提供虚拟资源的代理服务,支撑任务管理层的任务调度策略;虚拟资源层对资源进行虚拟化,接收并执行任务,之后提交执行结果。在所述步骤3中,将执行结果通过XML文件或者消息文件的形式提供给网管系统;采用“推”和“拉”两种方式采集任务运行的监测结果。“推”的方式是指虚拟节点上运行的任务主动把结果推送给监测系统;“拉”的方式是指由监测系统在虚拟节点上下载运行结果。通过以下实施例对基于虚拟计算任务的运行监测系统及方法作进一步描述。基于虚拟计算任务的运行监测系统通过对互联网上的自主资源进行集成和综合利用,为用户及应用提供安全、透明的服务环境。为了实现这一目标,需要对加入了虚拟计算环境中的节点运行状态进行监测,监测内容包括CPU类型、数量、内存容量、硬盘容量等各种系统静态信息,以及CPU利用率、内存利用率、系统负载等动态信息。基于虚拟计算任务的运行监测系统的体系结构如图1所示,划分为任务代理层、资源代理层、虚拟资源层和运行监测系统。任务代理层对应用层提供了任务接口,通过接口接收用户提交的计算任务,同时任务代理层获取各种可用的资源信息,从而对任务和资源进行匹配,对任务进行调度,通过虚拟计算资源的聚合与协同机制来执行用户提交的计算任务。资源代理层对虚拟资源进行注册、管理和分析,并面向任务代理层进行资源发布,提供虚拟资源的代理服务,支撑任务管理层的任务调度策略。虚拟资源层对资源进行虚拟化,接收下发给虚拟资源的任务并执行,按照相关要求提交结果。运行监测系统划分为三部分:采集子系统、存储分析子系统、界面。采集子系统中包括了监测节点获取、监测任务下发、基础状态采集三个模块。监测节点获取模块是通过资源代理的资源接口来获得。资源代理维护着虚拟资源环境中的虚拟资源列表,虚拟资源的加入需要在资源代理处注册,而资源节点的退出可以主动退出,或者停止向资源代理发送保活信息而被视为退出。运行监测系统通过资源代理层的接口,可以获得要监测的虚拟资源列表,将这些节点作为被管对象进行监测。获取了节点列表后,运行监测系统就开始采集运行状态数据。监测任务下发模块是指采用任务投递的方式来进行运行状态采集。基础状态采集模块采用了上述方法,监测系统将采集基础信息的程序封装成虚拟计算任务,通过任务代理层的任务下发接口,将采集任务下发到所有的虚拟资源节点上。虚拟资源执行采集任务的结果返回给基础状态采集模块。
存储分析子系统包括数据分析、数据存储两个模块。数据分析模块负责将采集到的消息和文件进行解析,提取其中的数据,并对数据进行分析,分析系统运行状态、发现系统异常。数据存储模块保存监测到的数据。界面子系统用来图形化的展示系统运行状态。首先提供了动态的资源视图,当虚拟计算环境有新的虚拟节点加入的时候,监测系统可以获取该节点信息,将其加入监测范围中。而当某虚拟节点退出时,监测系统可以自动删除对该节点监测。其次提供了状态视图,可以实时地展现节点资源的利用率,网络流量、任务的执行状态等信息。最后提供了系统告警服务,当虚拟节点的监测值超过阈值,或者某个虚拟节点发生故障,无法正常运行时,都会进行告警。基于虚拟计算任务的虚拟资源状态监测方法,主要步骤如下:(I)根据虚拟计算的特点,将监测资源状态的程序封装为虚拟计算任务,并根据不同的采集频率、数据内容等不同需求,定制不同的虚拟计算任务;(2)将资源状态监测程序以任务的形式下发给需要监测的虚拟资源;(3)虚拟资源按照要求执行这些任务,任务的执行结果就是监测的数据;将监测结果采用结构化数据的方式,通过XML文件或者消息文件的形式提供给网管系统。首先,基于虚拟计算模式来开发采集任务程序。采集任务根据需求分为不同类型,按照要采集对象的特点和采集信息的类型、采集时间间隔等,定制不同的采集程序。对于变化频率低的信息,例如,CPU类型、操作系统类型、内存大小、硬盘大小等静态数据,作为静态采集任务执行。对于变化频率快的动态数据,例如,CPU利用率、内存利用率、系统平均负载(Load Average)、任务ID、启动时间/结束时间等指标,作为动态采集任务执行。如果需要采集其他的信息,也可以封装特定的采集任务,其次,将采集任务通过虚拟计算环境的任务代理层下发至虚拟资源,虚拟资源收到任务后,作为守护进程进行执行。任务代理层对应用层提供了任务接口,通过接口接收用户提交的计算任务,同时任务代理层获取各种可用的资源信息,从而对任务和资源进行匹配,对任务进行调度,通过虚拟计算资源的聚合与协同机制来执行用户提交的计算任务。资源代理层对虚拟资源进行注册、管理和分析,并面向任务代理层进行资源发布,提供虚拟资源的代理服务,支撑任务管理层的任务调度策略。虚拟资源层对资源进行虚拟化,接收下发给虚拟资源的任务并执行,按照相关要求提交结果。最后,采集任务运行的结果(即监测结果)的回收根据需求可以采用“推”和“拉”两种方式。推的方式是指虚拟节点上运行的任务主动把结果推送给监测系统;拉的方式是指由监测系统在虚拟节点上下载运行结果。需要实时获得的结果采用推的方式,一旦获得结果就立即提交给监测系统,由监测系统中的消息服务进行接收。其他不需要实时获得的结果采用拉的方式,由监测系统定期到虚拟节点上采集运行结果。在监测系统中,静态数据和动态数据中的资源利用率、网络利用率等信息采用了拉的方式进行采集。对于拉的方式采集文件时,因为文件是由不同的程序分别生成和读取的,即文件由监测系统下发的虚拟任务生成,而文件采集和传输是由文件传输程序所完成的,因此必须要解决文件同步问题,防止未完全生成的文件被监测系统所采集。采用了文件名后缀标志的方法,未完全生成的文件的文件名加上了.tmp后缀,只有完全写完的文件才去掉这个后缀名。需要声明的是,本发明内容及具体实施方式
意在证明本发明所提供技术方案的实际应用,不应解释为对本发明保护范围的限定。本领域技术人员在本发明的精神和原理启发下,可作各种修改、等同替换、或改进。但这些变更或修改均在申请待批的保护范围内。
权利要求
1.一种基于虚拟计算任务的运行监测系统,其特征在于,所述系统,包括:虚拟计算环境和对其进行资源监测的运行监测系统。
2.根据权利要求1所述的系统,其特征在于,所述虚拟计算环境,包括:任务代理层、资源代理层和虚拟资源层;所述任务代理层设置有任务下发接口 ;所述任务代理层对应用层提供任务接口,通过接口接收用户提交的计算任务,同时所述任务代理层获取资源信息,从而对任务和资源进行匹配,对任务进行调度;所述资源代理层对虚拟资源进行注册、管理和分析,并向所述任务代理层发布资源,提供虚拟资源的代理服务,支撑所述任务管理层的任务调度策略;所述虚拟资源层对资源进行虚拟化,接收下发的任务并执行,之后提交结果。
3.根据权利要求1所述的系统,其特征在于,所述运行监测系统,包括:依次连接的采集子系统、存储分析子系统和界面。
4.根据权利要求3所述的系统,其特征在于,所述采集子系统,包括:监测节点获取模块、基础状态采集模块和监测任务下发模块;监测节点获取模块通过所述资源代理层的资源接口获得资源,并将获得的资源传输到所述基础状态采集模块;所述基础状态采集模块,将采集基础信息所需要运行的代码封装成虚拟计算任务,将虚拟资源列表和要在其上执行的虚拟计算任务传递到监测任务下发模块,并负责收集所返回的监测结果;所述监测任务下发模块采用任务投递的方式将采集虚拟资源状态的虚拟任务,通过任务代理层的任务下发接口传输到虚拟资源节点上执行。
5.根据权利要求3所述的系统,其特征在于,所述存储分析子系统,包括:数据分析模块和存储其采集数据的数据存储模块。
6.根据权利要求5所述的系统,其特征在于,所述数据分析模块,负责将采集到的消息和文件进行解析,并对数据进行分析。
7.根据权利要求3所述的系统,其特征在于,界面,用来图形化的展示系统运行状态,实时地展现节点资源的利用率,网络流量、任务的执行状态信息,并能够提供系统告警服务。
8.一种基于虚拟计算任务的运行监测方法,其特征在于,所述方法包括如下步骤: (1).将监测资源状态的程序封装为虚拟计算任务,并根据不同的采集频率、数据内容,定制不同的虚拟计算任务; (2).将资源状态监测程序以任务的形式下发给需要监测的虚拟资源; (3).虚拟资源按照要求执行这些任务,将执行结果提供给网管系统; 其中,任务的执行结果就是监测的数据。
9.根据权利要求8所述的方法,其特征在于,在所述步骤I中,基于虚拟计算模式来开发采集任务程序,采集任务根据需求分为不同类型,按照要采集对象的特点和采集信息的类型、采集时间间隔定制不同的采集程序;对于变化频率低的信息,作为静态采集任务执行;对于变化频率快的动态数据,作为动态采集任务执行。
10.根据权利要求9所述的方法,其特征在于,静态数据,包括:CPU类型、操作系统类型、内存大小和硬盘大小;动态数据,包括=CPU利用率、内存利用率、系统平均负载、任务ID、启动时间和结束时间 。
11.根据权利要求8所述的方法,其特征在于,在所述步骤2中,将采集任务通过任务代理层下发至虚拟资源,虚拟资源收到任务后,作为守护进程进行执行;任务代理层接收用户提交的计算任务,同时获取各种资源信息,从而对任务和资源进行匹配和调度,通过虚拟计算资源的聚合与协同机制来执行用户提交的计算任务;资源代理层对虚拟资源进行注册、管理和分析,并面向任务代理层进行资源发布,提供虚拟资源的代理服务,支撑任务管理层的任务调度策略;虚拟资源层对资源进行虚拟化,接收并执行任务,之后提交执行结果。
12.根据权利要求8所述的方法,其特征在于,在所述步骤3中,将执行结果通过XML文件或者消息文件的形式提供给网管系统;采用“推”和“拉”两种方式采集任务运行的监测结果。
13.根据权利要求8所述的方法,其特征在于,“推”的方式是指虚拟节点上运行的任务主动把结果推送给监测系统;“拉”的方式是指由监测系统在虚拟节点上下载运行结果。
全文摘要
本发明提供了一种基于虚拟计算任务的运行监测系统及方法,所述系统,包括虚拟计算环境和对其进行资源监测的运行监测系统;所述方法,包括(1).将监测资源状态的程序封装为虚拟计算任务,并根据不同的采集频率、数据内容,定制不同的虚拟计算任务;(2).将资源状态监测程序以任务的形式下发给需要监测的虚拟资源;(3).虚拟资源按照要求执行这些任务,将执行结果提供给网管系统。本发明提供的基于虚拟计算任务的运行监测系统及方法,实现了对互联网上的自主资源进行灵活可定制的监测,并降低了监测所需的资源开销。
文档编号H04L12/26GK103078764SQ20121058467
公开日2013年5月1日 申请日期2012年12月28日 优先权日2012年12月28日
发明者刘欣然, 张鸿, 朱春鸽, 徐倩华 申请人:国家计算机网络与信息安全管理中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1