一种基于云计算的分布式数据采集系统及方法技术方案

技术编号:8565375 阅读:275 留言:0更新日期:2013-04-11 07:45
一种基于云计算的分布式数据采集系统及方法,所述系统包括:由至少一个服务器构成的云服务器、用于管理所述云服务器的至少一个虚拟化管理软件(VMS),至少一个用于信息采集的Discover节点,一个Collect节点和一个云计算平台。本发明专利技术通过将采集程序、调度程序、控制程序分开独立部署,可自定义采集策略、自定义数据采集时间戳及采集周期,采用线程池机制,可执行多VMS、多对象的不同数据的同时采集。采集任务通过线程池中的线程抢占方式执行,缩短数据采集延迟,减少采集任务阻塞,提高了数据采集效率。

【技术实现步骤摘要】

本专利技术涉及云计算
,特别是涉及。
技术介绍
当前,云计算(Cloud Computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。云计算的核心思想,是将大量用网络连接的计算资源统一管理和调度,构成一个统一资源池向用户提供按需服务。云计算(Cloud Computing)是网格计算(GridComputing)、分布式计算(Distributed Computing)、并行计算(ParallelComputing)、效用计算(Utility Computing)、网络存储 (Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。在云计算平台中,需要将大量用网络连接的计算资源信息采集同步到云计算平台中,进行统一管理和调度。需要采集的数据包括云服务器信息,资源运行时信息、虚拟化管理软件信息等。这些云服务器被虚拟化管理软件(VMS :virtualization Management Software)统一管理,云计算平台通过调用各类VMS的API接口,实现对各类云服务器中资源的统一管理及调度,与此同时,VMS中的各类信息需要同步到云计算平台中,数据采集及信息同步,涉及到了数据采集方法。数据采集方法的优劣,直接关系到云计算平台对云资源的调度能力。现有的数据采集方法中,普遍存在两种模式,第一中模式通常在VMS中部署采集代理程序,云计算平台通过与采集代理程序通信,以获取VMS中的相关数据。在这种模式中,采集代理程序需要消耗VMS中的资源,在采集任务异常的情况下,需要人工进行调整, 从而导致成本增加、维护难度大等问题。另外一种模式通常部署独立的采集服务器,通过调用VMS中的相关接口,实现数据采集。在这种模式中,不需要在VMS中安装代理程序,采用多线程轮询执行采集操作,所有需要采集的数据将一次性采集完成,如果数据采集出现排队现象,一旦第一个线程执行出错,就会发生堵塞,导致队列中其后的所有线程都无法运行,无法及时采集VMS中的相关信息,容易造成数据冗余。对于大批量信息的采集,这种方式还会造成采集时间过长等问题。
技术实现思路
鉴于本发 明的目的在于提供一种基于云计算的分布式数据采集系统,其包括 由至少一个服务器构成的云服务器、用于管理所述云服务器的至少一个虚拟化管理软件 (VMS),至少一个用于信息采集的Discover节点,一个Collect节点和一个云计算平台,其特征在于所述云服务器用于在云计算环境中提供IT基础设施的被虚拟化后的服务器,可以是单台服务器,也可以是一组集群服务器;所述虚拟化管理软件至少管理一台云服务器,并连接到一个Discover节点,用于在虚拟化层进行资源调度管理,对下接管云服务器中的资源,向云服务器分发调度指令,并对云服务器进行监控;对上向所述Discover节点提供各类API接口,以便所述Discover节点通过虚拟化管理软件提供的API接口获取虚拟化管理软件中的信息;所述Discover节点连接一个提供信息采集API接口的虚拟化管理软件,用于按周期调用虚拟化管理软件提供的API获取虚拟化管理软件中的信息,将采集到的信息汇报到所述云计算平台中;所述Collect节点连接到至少一个Discover节点,用于设置采集任务及各采集任务的采集时钟周期,并将设置信息下发到Collect节点连接的所有Discover节点中;所述云计算平台连接至少一个Discover节点和所述Collect节点,用于设置 Collect节点的采集任务及采集周期,接收Discover节点采集到的信息,并对云环境中的资产、资源、模板进行管理,将云计算环境中的IT资源以服务的方式交付给用户使用,并且在此基础上实现监控及计费。进一步,本专利技术所述的基于云计算的分布式数据采集系统,其特征在于所述虚拟化管理软件、所述Discover节点、所述Collect节点和所述云计算平台均可分别单独部署在PC、PC Server或虚拟机中。进一步,本专利技术所述的基于云计算的分布式数据采集系统,其特征在于所述采集任务包括资产信息采集、资源信息采集、模板信息采集、告警信息采集任务。进一步,本专利技术所述的基于云计算的分布式数据采集系统,其特征在于不同的虚拟化管理软件分别连接到不同的Discover节点,一个Discover节点独立处理一个虚拟化管理软件中的信息采集,某Discvoer节点故障不影响其余Discover节点的运行。进一步,本专利技术所述的基于云计算的分布式数据采集系统,其特征在于所述虚拟化管理软件支持VMware vSphere中的管理软件VMware vCenter和IBM PowerVM虚拟化技术中的管理软件SystemDirector。此外,本专利技术还提供一种基于云计算的分布式数据采集方法,其应用于上述的基于云计算的分布式数据采集系统,其特征在于包括如下步骤S1:在云计算平台中设置采集任务及采集任务调度执行时间,调用Collect节点, 设置包括采集任务及采集周期在内的采集策略,并保存到共享数据库中;S2 =Collect节点获取采集策略并创建线程池;S3 =Collect节点读取数据库中虚拟化管理软件信息;S4 Collect节点读取数据库中的Discover节点信息;S5 =Collect节点将虚拟化管理软件信息与Discover节点信息匹配,并将匹配成功的信息对应到一个线程池并形成采集任务,采集任务按调度策略执行;S6 =Discover节 点根据采集任务的类型分别调用虚拟化管理软件中提供的相关 API接口,获取相关数据并将数据按要求写入共享数据库中,以供云计算平台使用。进一步,本专利技术所述的基于云计算的分布式数据采集方法,其特征在于在步骤S6 中,若数据获取失败,则Discover节点在任务时间期内,再次获取虚拟化管理软件标识并验证虚拟化管理软件的可连接性,若虚拟化管理软件可连接,则再次执行发现,若虚拟化管理软件连接失败,则抛出异常信息。进一步,本专利技术所述的基于云计算的分布式数据采集方法,其特征在于在所述步骤S3,S4中,Collect节点每5分钟读取一次并缓存于内存中。进一步,本专利技术所述的基于云计算的分布式数据采集方法,其特征在于在步骤S5 中,每类采集任务形成线程池中的独立主线程,后续虚拟化管理软件中的每个对象相关的信息采集,将生成独立子线程执行,各线程分时执行;所述Collect节点在采集任务执行过程中监控各线程执行情况,对于执行超时的线程,将强行终止,以便后续线程继续执行。本专利技术将米集程序、调度程序、控制程序分开独立部署,可自定义米集策略、自定义数据采集时间戳及采集周期,采用线程池机制,可执行多VMS、多对象的不同数据的同时采集。采集任务通过线程池中的线程抢占方式执行,缩短数据采集延迟,减少采集任务阻塞,提高了数据采集效率。附图说明图1为本专利技术的基于云计算分布式数据采集系统的结构示意图。图2为本专利技术的基于云计算分布式数据采集方法的流程示意图。具体实施方式下面通过附图和实施例,对本专利技术的采集方法做进一步的详细描述。以下实施例用于说明本专利技术,但本文档来自技高网
...

【技术保护点】
一种基于云计算的分布式数据采集系统,包括:由至少一个服务器构成的云服务器、用于管理所述云服务器的至少一个虚拟化管理软件(VMS),至少一个用于信息采集的Discover节点,一个Collect节点和一个云计算平台,其特征在于;所述云服务器用于在云计算环境中提供IT基础设施的被虚拟化后的服务器,可以是单台服务器,也可以是一组集群服务器;所述虚拟化管理软件至少管理一台云服务器,并连接到一个Discover节点,用于在虚拟化层进行资源调度管理,对下接管云服务器中的资源,向云服务器分发调度指令,并对云服务器进行监控;对上向所述Discover节点提供各类API接口,以便所述Discover节点通过虚拟化管理软件提供的API接口获取虚拟化管理软件中的信息;所述Discover节点连接一个提供信息采集API接口的虚拟化管理软件,用于按周期调用虚拟化管理软件提供的API获取虚拟化管理软件中的信息,将采集到的信息汇报到所述云计算平台中;所述Collect节点连接到至少一个Discover节点,用于设置采集任务及各采集任务的采集时钟周期,并将设置信息下发到Collect节点连接的所有Discover节点中;所述云计算平台连接至少一个Discover节点和所述Collect节点,用于设置Collect节点的采集任务及采集周期,接收Discover节点采集到的信息,并对云环境中的资产、资源、模板进行管理,将云计算环境中的IT资源以服务的方式交付给用户使用,并且在此基础上实现监控及计费。...

【技术特征摘要】
1.一种基于云计算的分布式数据采集系统,包括由至少一个服务器构成的云服务器、用于管理所述云服务器的至少一个虚拟化管理软件(VMS),至少一个用于信息采集的 Discover节点,一个Collect节点和一个云计算平台,其特征在于;所述云服务器用于在云计算环境中提供IT基础设施的被虚拟化后的服务器,可以是单台服务器,也可以是一组集群服务器;所述虚拟化管理软件至少管理一台云服务器,并连接到一个Discover节点,用于在虚拟化层进行资源调度管理,对下接管云服务器中的资源,向云服务器分发调度指令,并对云服务器进行监控;对上向所述Discover节点提供各类API接口,以便所述Discover节点通过虚拟化管理软件提供的API接口获取虚拟化管理软件中的信息;所述Discover节点连接一个提供信息采集API接口的虚拟化管理软件,用于按周期调用虚拟化管理软件提供的API获取虚拟化管理软件中的信息,将采集到的信息汇报到所述云计算平台中;所述Collect节点连接到至少一个Discover节点,用于设置采集任务及各采集任务的采集时钟周期,并将设置信息下发到Collect节点连接的所有Discover节点中;所述云计算平台连接至少一个Discover节点和所述Collect节点,用于设置Collect 节点的采集任务及采集周期,接收Discover节点采集到的信息,并对云环境中的资产、资源、模板进行管理,将云计算环境中的IT资源以服务的方式交付给用户使用,并且在此基础上实现监控及计费。2.根据权利要求1所述的基于云计算的分布式数据采集系统,其特征在于所述虚拟化管理软件、所述Discover节点、所述Collect节点和所述云计算平台均可分别单独部署在 PC、PC Server或虚拟机中。3.根据权利要求1所述的基于云计算的分布式数据采集系统,其特征在于所述采集任务包括资产信息采集、资源信息采集、模板信息采集、告警信息采集任务。4.根据权利要求1所述的基于云计算的分布式数据采集系统,其特征在于不同的虚拟化管理软件分别连接到不同的Discover节点,一个Discover节点独立处理一个虚...

【专利技术属性】
技术研发人员:王雪山张志武刘兴辉邵文韬
申请(专利权)人:北京华胜天成科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1