CN107341040A - 一种虚拟化云平台的数据采集方法和装置 - Google Patents

一种虚拟化云平台的数据采集方法和装置 Download PDF

Info

Publication number
CN107341040A
CN107341040A CN201610279632.5A CN201610279632A CN107341040A CN 107341040 A CN107341040 A CN 107341040A CN 201610279632 A CN201610279632 A CN 201610279632A CN 107341040 A CN107341040 A CN 107341040A
Authority
CN
China
Prior art keywords
resource
acquisition
acquisition tasks
cloud platform
tasks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610279632.5A
Other languages
English (en)
Inventor
陈志刚
王庆磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shenzhou Taiyue Software Co Ltd
Original Assignee
Beijing Shenzhou Taiyue Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Shenzhou Taiyue Software Co Ltd filed Critical Beijing Shenzhou Taiyue Software Co Ltd
Priority to CN201610279632.5A priority Critical patent/CN107341040A/zh
Publication of CN107341040A publication Critical patent/CN107341040A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种虚拟化云平台的数据采集方法和装置,该方法包括:加载多个采集任务,每个采集任务具有一个采集对象;在每个采集任务到达执行时刻时执行该采集任务,生成对应于该采集任务的多个采集器,并发地执行多个采集器,从虚拟化云平台中采集对应的资源数据;根据采集到的各资源数据,生成虚拟化云平台中的资源拓扑结构并展示。依据本方案,多个采集任务分担采集对象、每个采集任务生成对应于采集对象的多个采集器并发采集的方式能够提高数据采集效率,缩短数据采集周期,实现对虚拟化云平台中的资源的有效、不延迟监控;以拓扑形式展示采集到的虚拟化云平台中的资源结构与现有技术中列表展示形式相比,更加直观形象,能够体现出资源之间的逻辑关系。

Description

一种虚拟化云平台的数据采集方法和装置
技术领域
本发明涉及数据处理技术领域,具体涉及一种虚拟化云平台的数据采集方法和装置。
背景技术
虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。虚拟化可以在同一台物理机上独立、并行运行安装了不同操作系统和应用程序的多台虚拟机。而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上。
VMware软件,是全球桌面到数据中心虚拟化解决方案的厂商Vmware开发的虚拟化云平台的产品。VMware可在一台物理主机上同时运行二个或更多Windows、Linux系统。通过VMware vSphere Client客户端软件,可以对一个虚拟化云平台的物理主机、存储设备、虚拟机资源进行资源总览与操作管理,图1示出了现有技术中按树形结构展示虚拟化云平台中的资源的示意图,如图1所示,该图中展示了该虚拟化云平台中的所有已创建的虚拟机和虚拟机模板列表。然而,现实很多企业运维项目中,需要将云资源数据统一采集并集成到项目化产品中,如果只是用VMware vSphere Client如图1那样以列表形式展示云平台资源,无法形象地展示出虚拟化云平台中的资源之间的继承关系、存在关系和逻辑关系。
此外,以VMware vSphere Client的5.5版本为例,一个虚拟化云平台最多可接入500台物理主机,一台物理主机最多可支持创建512个虚拟机,那么一个云平台将最大可支持512*500台虚拟机。以项目实际情况来看,实际使用中一个云平台一般最多接入20~30台物理主机,每台物理主机最多创建50~60个虚拟机,而每个虚拟机又有多个虚拟网卡、虚拟磁盘,及每台物理机又有多个物理磁盘、物理网卡,保守计算,单以一个虚拟机会有2个虚拟磁盘为例,一个云平台中的虚拟磁盘资源可能会达到2000~3600个资源。
对于资源的配置数据的采集一般要求几个小时采一次,例如新创建了一个虚拟机,如果每小时采集一次,则最多延迟一小时会采集到新创建的这台虚拟机资源,能够在接受范围内。但对于资源实例的性能指标数据,例如虚拟磁盘的“磁盘I/O读速率”、“磁盘I/O写速率”、虚拟机的“CPU利用率”,要求每15分钟采集一次数据,甚至要求每2分钟采一次数据。现有技术所采用的数据采集方案效率较低,无法满足该采集频率。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的虚拟化云平台的数据采集方法和装置。
依据本发明的一个方面,提供了一种虚拟化云平台的数据采集方法,该方法包括:
加载预先配置的多个采集任务,每个采集任务具有一个采集对象;
对于每个采集任务,判断该采集任务是否到达执行时刻;是则,执行该采集任务,生成对应于该采集任务的采集对象的多个采集器,并发地执行所述多个采集器,从虚拟化云平台中采集所述采集对象对应的资源数据;
根据各采集任务采集到的资源数据,生成虚拟化云平台中的资源拓扑结构并展示。
可选地,所述从虚拟化云平台中采集所述采集对象对应的资源数据包括:根据虚拟化云平台中的资源的继承顺序对虚拟化云平台中的资源进行遍历,采集所述采集对象对应的资源数据,记录该资源数据归属的父资源标识;
则所述根据各采集任务采集到的资源数据,生成虚拟化云平台中的资源拓扑结构并展示包括:根据记录的各资源数据归属的父资源标识,生成包含虚拟化云平台中的资源之间的继承关系的资源拓扑结构。
可选地,该方法进一步包括:
在所述根据虚拟化云平台中的资源的继承顺序对虚拟化云平台中的资源进行遍历的过程中,记录遍历过的各资源数据到缓存;
则对于每个采集任务,在执行该采集任务之前,查看缓存中是否包含该采集任务的采集对象对应的资源数据,是则,直接从缓存中取出所述资源数据,不再执行该采集任务。
可选地,每个采集对象为一类资源对象或一类资源性能对象;
当采集对象为一类资源对象时,该采集对象对应的资源数据为该类资源对象的资源配置数据;当采集对象为一类资源性能对象时,该采集对象对应的资源数据为该类资源性能对象的性能指标数据。
可选地,所述对于每个采集任务,判断该采集任务是否到达执行时刻包括:运行一个主线程;每隔预设时间间隔,利用该主线程依次轮询每个采集任务;对于每个采集任务,判断当前系统时间与该采集任务的上次采集时间的差值是否大于该采集任务的采集时间间隔,是则,确定该采集任务到达执行时刻,否则,确定该采集任务未到达执行时刻;
该方法进一步包括:在执行该采集任务时,记录相应的采集时间到缓存;当主线程再次轮询到该采集任务时,将所记录的采集时间作为该采集任务的上次采集时间。
可选地,所述生成对应于该采集任务的采集对象的多个采集器,并发地执行所述多个采集器,从虚拟化云平台中采集所述采集对象对应的资源数据包括:
生成对应于该采集任务的采集对象的多个子线程,每个子线程针对该采集对象构建一个采集器;
将各采集器按顺序加入采集执行的线程池,由线程池并发执行多个采集器的采集操作;
令每个采集器与虚拟化云平台建立连接,采集所述采集对象对应的资源数据。
可选地,在所述根据各采集任务采集到的资源数据,生成虚拟化云平台中的资源拓扑结构并展示之前,该方法进一步包括:
将采集到的资源数据统一处理为相同格式的字符串数据,放入数据收集队列线程池中。
依据本发明的另一个方面,提供了一种虚拟化云平台的数据采集装置,该装置包括:
采集任务加载单元,用于加载预先配置的多个采集任务,每个采集任务具有一个采集对象;
采集任务执行单元,用于对于每个采集任务,判断该采集任务是否到达执行时刻;是则,执行该采集任务,生成对应于该采集任务的采集对象的多个采集器,并发地执行所述多个采集器,从虚拟化云平台中采集所述采集对象对应的资源数据;
采集结果展示单元,用于根据各采集任务采集到的资源数据,生成虚拟化云平台中的资源拓扑结构并展示。
可选地,所述采集任务执行单元,用于根据虚拟化云平台中的资源的继承顺序对虚拟化云平台中的资源进行遍历,采集所述采集对象对应的资源数据,记录该资源数据归属的父资源标识;
所述采集结果展示单元,用于根据记录的各资源数据归属的父资源标识,生成包含虚拟化云平台中的资源之间的继承关系的资源拓扑结构。
可选地,所述采集任务执行单元,进一步用于在所述根据虚拟化云平台中的资源的继承顺序对虚拟化云平台中的资源进行遍历的过程中,记录遍历过的各资源数据到缓存;则对于每个采集任务,在执行该采集任务之前,查看缓存中是否包含该采集任务的采集对象对应的资源数据,是则,直接从缓存中取出所述资源数据,不再执行该采集任务。
可选地,每个采集对象为一类资源对象或一类资源性能对象;
当采集对象为一类资源对象时,该采集对象对应的资源数据为该类资源对象的资源配置数据;当采集对象为一类资源性能对象时,该采集对象对应的资源数据为该类资源性能对象的性能指标数据。
可选地,所述采集任务执行单元,用于运行一个主线程;每隔预设时间间隔,利用该主线程依次轮询每个采集任务;对于每个采集任务,判断当前系统时间与该采集任务的上次采集时间的差值是否大于该采集任务的采集时间间隔,是则,确定该采集任务到达执行时刻,否则,确定该采集任务未到达执行时刻;
所述采集任务执行单元,进一步用于在执行该采集任务时,记录相应的采集时间到缓存;当主线程再次轮询到该采集任务时,将所记录的采集时间作为该采集任务的上次采集时间。
可选地,所述采集任务执行单元,用于生成对应于该采集任务的采集对象的多个子线程,每个子线程针对该采集对象构建一个采集器;将各采集器按顺序加入采集执行的线程池,由线程池并发执行多个采集器的采集操作;令每个采集器与虚拟化云平台建立连接,采集所述采集对象对应的资源数据。
可选地,所述采集任务执行单元,进一步用于将采集到的资源数据统一处理为相同格式的字符串数据,放入数据收集队列线程池中。
由上述可知,本发明提供的技术方案通过执行多个采集任务实现对虚拟化云平台的数据采集以及数据展示;具体地,每个采集任务负责相应的采集对象,每个采集任务在到达执行时刻时开始执行,生成对应于采集对象的多个采集器,通过多个采集器并发地从虚拟化云平台中采集相应的资源数据;根据各采集任务采集到的资源数据生成虚拟化云平台中的资源拓扑结构。依据本方案,多个采集任务分担不同采集对象、每个采集任务生成对应于其采集对象的多个采集器并发采集的方式能够极大地提高数据采集效率,缩短数据采集周期,进而实现对虚拟化云平台中的各资源的有效、不延迟监控;此外,以拓扑形式展示采集到的虚拟化云平台中的资源结构与现有技术中的列表展示形式相比,更加直观形象,能够体现出资源之间的逻辑关系。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了现有技术中按树形结构展示虚拟化云平台中的资源的示意图;
图2示出了根据本发明一个实施例的一种虚拟化云平台的数据采集方法的流程图;
图3示出了根据本发明一个实施例的虚拟化云平台中的各类资源之间的继承关系的示意图;
图4示出了根据本发明一个实施例的资源缓存的写入与读取的关系示意图;
图5示出了根据本发明另一个实施例的一种虚拟化云平台的数据采集方法的流程图;
图6示出了根据本发明一个实施例的虚拟化云平台中的资源拓扑结构的示意图;
图7示出了根据本发明一个实施例的一种虚拟化云平台的数据采集装置的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图2示出了根据本发明一个实施例的一种虚拟化云平台的数据采集方法的流程图。如图2所示,该方法包括:
步骤S210,加载预先配置的多个采集任务,每个采集任务具有一个采集对象。
步骤S220,对于每个采集任务,判断该采集任务是否到达执行时刻;是则,执行该采集任务,生成对应于该采集任务的采集对象的多个采集器,并发地执行所述多个采集器,从虚拟化云平台中采集所述采集对象对应的资源数据。
步骤S230,根据各采集任务采集到的资源数据,生成虚拟化云平台中的资源拓扑结构并展示。
可见,图2所示的方法通过执行多个采集任务实现对虚拟化云平台的数据采集以及数据展示;具体地,每个采集任务负责相应的采集对象,每个采集任务在到达执行时刻时开始执行,生成对应于采集对象的多个采集器,通过多个采集器并发地从虚拟化云平台中采集相应的资源数据;根据各采集任务采集到的资源数据生成虚拟化云平台中的资源拓扑结构。依据本方案,多个采集任务分担不同采集对象、每个采集任务生成对应于其采集对象的多个采集器并发采集的方式能够极大地提高数据采集效率,缩短数据采集周期,进而实现对虚拟化云平台中的各资源的有效、不延迟监控;此外,以拓扑形式展示采集到的虚拟化云平台中的资源结构与现有技术中的列表展示形式相比,更加直观形象,能够体现出资源之间的逻辑关系。
在本发明的一个实施例中,每个采集对象为一类资源对象或一类资源性能对象;当采集对象为一类资源对象时,该采集对象对应的资源数据为该类资源对象的资源配置数据;当采集对象为一类资源性能对象时,该采集对象对应的资源数据为该类资源性能对象的性能指标数据。例如,一个采集任务对应一个采集对象,该采集对象为虚拟机资源对象,该采集对象对应的资源数据为虚拟化云平台中的各虚拟机资源对象的资源配置数据;该采集对象为虚拟磁盘资源对象,该采集对象对应的资源数据为虚拟化云平台中的各虚拟磁盘资源对象的资源配置数据;或者,该采集对象为虚拟机的CPU利用率资源性能对象,该采集对象对应的资源数据为虚拟化云平台中的各虚拟机的CPU利用率的性能指标数据;该采集对象为虚拟磁盘的I/O读速率资源性能对象,该采集对象对应的资源数据为虚拟化云平台中的各虚拟磁盘的I/O读速率的性能指标数据;等等,诸如此类,不再一一举例。
图3示出了根据本发明一个实施例的虚拟化云平台中的各类资源之间的继承关系的示意图,表示各类资源之间的逻辑关系而非物理关系。一个虚拟化云平台中会存在多个数据中心(图3中仅画出一个数据中心作为例子),集群是数据中心的子资源,物理主机是集群的子资源,按逻辑关系来讲,虚拟机也是数据中心的子资源,如图3所示,数据中心下包括集群、虚拟机、共享存储和虚拟网络,集群下包括物理主机和资源池,物理主机下包括物理网卡和物理磁盘,虚拟机下包括虚拟网卡和虚拟磁盘。
则上述步骤S220从虚拟化云平台中采集所述采集对象对应的资源数据包括:根据虚拟化云平台中的资源的继承顺序对虚拟化云平台中的资源进行遍历,采集所述采集对象对应的资源数据。例如,一个采集任务的采集对象是物理网卡资源对象,则需要从虚拟化云平台的数据中心开始遍历,执行数据中心→集群→物理主机→物理网卡的遍历过程,从每个物理主机中遍历出各物理网卡,采集各物理网卡的资源配置数据;或者,一个采集任务的采集对象是物理主机的CPU利用率资源性能对象,则依然执行数据中心→集群→物理主机的遍历过程,从每个集群中遍历出各物理主机,采集各物理主机的CPU利用率作为性能指标数据。
由上述内容能够看到,在对虚拟化云平台中的某类资源进行数据采集的过程中,必然要遍历经过该类资源的的父级资源、该父级资源的父级资源、……、数据中心,例如,分别采集虚拟机、共享存储、虚拟网络和集群时,由于这四类资源都是属于数据中心下的资源对象,则在采集过程中都要从数据中心遍历这四类资源,按照上文所述的采集过程,数据中心资源将被重复取四次进行遍历。
为了尽量降低重复处理次数,提高数据采集效率,本方案采取了一种改进方法:将数据中心资源对象采集后,放到一个“数据中心缓存”的内存缓存中,在采集虚拟机、共享存储、网络、集群等子级资源时,直接从“数据中心缓存”去数据中心资源对象再进行遍历找到相应的子级资源,避免了从虚拟化云平台中重复读取数据中心的过程,加快了采集速度,同理,其他类型的资源也可以根据资源之间的继承关系,通过将资源写入缓存或从缓存中读取资源的方式,实现对资源数据的快速采集。图4示出了根据本发明一个实施例的资源缓存的写入与读取的关系示意图,如图4所示,在采集到数据中心资源时,将数据中心资源写入数据中心缓存,则在采集虚拟机资源、采集共享存储资源、采集网络资源、采集集群资源时,直接从数据中心缓存中读取数据中心资源进行遍历采集;在采集到虚拟机资源时,将虚拟机资源写入虚拟机缓存,则在采集虚拟机磁盘资源、采集虚拟机网卡资源时,直接从虚拟机缓存中读取虚拟机资源进行遍历采集;在采集到集群资源时,将集群资源写入集群缓存,则在采集资源池资源、采集物理主机资源时,直接从集群缓存中读取集群资源进行遍历采集;在采集到物理主机资源时,将物理主机资源写入物理主机缓存,则在采集物理主机磁盘资源、采集物理主机网卡资源时,直接从物理主机缓存中读取物理主机资源进行遍历采集,以此类推。
可见,依据图3和图4,图2所示的方法在根据虚拟化云平台中的资源的继承顺序对虚拟化云平台中的资源进行遍历的过程中,记录遍历过的各资源数据到缓存;则对于每个采集任务,在执行该采集任务之前,查看缓存中是否包含该采集任务的采集对象对应的资源数据,是则,直接从缓存中取出所述资源数据,不再执行该采集任务。
图5示出了根据本发明另一个实施例的一种虚拟化云平台的数据采集方法的流程图。如图5所示,该方法包括:
步骤S510,启动采集服务。
步骤S520,加载采集任务。
加载所有配置的采集任务,采集任务从系统缓存中加载采集对象;如上文所述,采集任务所加载的采集对象可以是一类资源对象也可以是一类资源性能对象,从虚拟化云平台中采集的资源数据可以是资源对象的资源配置数据也可以是资源性能对象的性能指标数据。
步骤S530,轮询采集任务。
采集服务始终运行一个主线程,利用该主线程轮询各采集任务;具体地,主线程每隔预设时间间隔依次轮询每个采集任务;其中,所述预设时间间隔小于各采集任务的采集时间间隔,例如,一般来说采集任务的采集时间间隔在2min左右,通常配置预设时间间隔为1min,主线程每隔1min一次逐个轮询每个采集任务。
步骤S540,判断每个采集任务是否到达执行时刻,是则,执行步骤S550,否则,执行步骤S530,等待下次轮询。
对于每个采集任务,判断当前系统时间与该采集任务的上次采集时间的差值是否大于该采集任务的采集时间间隔,是则,确定该采集任务到达执行时刻,否则,确定该采集任务未到达执行时刻。其中,每个采集任务的采集时间间隔可以根据采集对象的特点、采集频率要求等因素来确定。
步骤S550,执行该采集任务,采集任务根据采集对象生成多个子线程,每个子线程针对该采集对象构建一个采集器。
其中,在执行该采集任务时,记录相应的采集时间到缓存;当主线程再次轮询到该采集任务时,将所记录的采集时间作为该采集任务的上次采集时间。
采集器collector是具体的采集方法实现类;举例说明采集任务根据采集对象生成多个子线程:采集任务的采集对象是虚拟磁盘资源对象,虚拟化云平台中有2台虚拟机,每台虚拟机中有4个虚拟磁盘,则采集任务生成8个子线程以对8个虚拟磁盘资源对象进行并发采集。
步骤S560,多个采集器按顺序加入采集执行的线程池,由线程池并发执行多个采集器的采集。
步骤S570,每个采集器与云平台建立连接,依次采集资源数据。
其中,可以通过VMware官方提供的vSphere API以Java开发的方式,将采集器连接到虚拟化云平台,不间断地定时读取资源配置数据与性能指标数据。
在资源数据的采集过程中,对于已经采集到的资源数据,对需要重复采集的资源数据进行缓存,在下次需要采集该资源数据时无需重新从虚拟化云平台中采集,而直接从缓存中读取该资源数据,减少对于相同资源数据的重复采集,提高采集效率。
步骤S580,将采集到的资源数据统一处理为相同格式的字符串数据,放入数据收集队列线程池中。
在一个具体的实施例中,采集到的资源数据包括资源配置数据和性能指标数据,将每个采集到的资源数据统一定义为表1所示的5个字段值:“资源标识”、“指标ID”、“采集时间”、“值”和“父资源标识”。
表1
资源标识 指标ID 采集时间 父资源标识
其中,对于采集到的每个资源数据,需要记录该资源数据归属的父资源标识,这样经过溯源能够以拓扑图的形式绘制虚拟化云平台中的资源之间的结构关系,该虚拟化云平台中的资源拓扑结构中包含虚拟化云平台中的资源之间的继承关系。例如,采集到的资源数据为虚拟网卡的资源配置数据,则在其“父资源标识”字段中记录该虚拟网卡归属的虚拟机资源标识,这样在采集到该虚拟网卡的资源配置数据后能够查到该虚拟网卡归属的父资源是哪个虚拟机。则对于采集到的所有资源数据,根据各资源数据归属的父资源标识可以查各资源的父资源,便于构建资源拓扑结构,如图6所示,图6示出了根据本发明一个实施例的虚拟化云平台中的资源拓扑结构的示意图,可以看出,该资源拓扑结构清晰展示了虚拟化云平台中的数据中心、集群、物理主机和虚拟机各类资源的存在关系以及各类资源之间的父子继承关系,其中的圆形图标标示出了虚拟机资源,一个圆形图标代表一个虚拟机。
图7示出了根据本发明一个实施例的一种虚拟化云平台的数据采集装置的示意图。如图7所示,该虚拟化云平台的数据采集装置700包括:
采集任务加载单元710,用于加载预先配置的多个采集任务,每个采集任务具有一个采集对象。
采集任务执行单元720,用于对于每个采集任务,判断该采集任务是否到达执行时刻;是则,执行该采集任务,生成对应于该采集任务的采集对象的多个采集器,并发地执行所述多个采集器,从虚拟化云平台中采集所述采集对象对应的资源数据。
采集结果展示单元730,用于根据各采集任务采集到的资源数据,生成虚拟化云平台中的资源拓扑结构并展示。
可见,图7所示的装置通过执行多个采集任务实现对虚拟化云平台的数据采集以及数据展示;具体地,每个采集任务负责相应的采集对象,每个采集任务在到达执行时刻时开始执行,生成对应于采集对象的多个采集器,通过多个采集器并发地从虚拟化云平台中采集相应的资源数据;根据各采集任务采集到的资源数据生成虚拟化云平台中的资源拓扑结构。依据本方案,多个采集任务分担不同采集对象、每个采集任务生成对应于采集任务的多个采集器并发采集的方式能够极大地提高数据采集效率,缩短数据采集周期,进而实现对虚拟化云平台中的各资源的有效、不延迟监控;此外,以拓扑形式展示采集到的虚拟化云平台中的资源结构与现有技术中的列表展示形式相比,更加直观形象,能够体现出资源之间的逻辑关系。
在本发明的一个实施例中,采集任务执行单元720,用于根据虚拟化云平台中的资源的继承顺序对虚拟化云平台中的资源进行遍历,采集所述采集对象对应的资源数据,记录该资源数据归属的父资源标识;采集结果展示单元730,用于根据记录的各资源数据归属的父资源标识,生成包含虚拟化云平台中的资源之间的继承关系的资源拓扑结构。
其中,采集任务执行单元720,进一步用于在所述根据虚拟化云平台中的资源的继承顺序对虚拟化云平台中的资源进行遍历的过程中,记录遍历过的各资源数据到缓存;则对于每个采集任务,在执行该采集任务之前,查看缓存中是否包含该采集任务的采集对象对应的资源数据,是则,直接从缓存中取出所述资源数据,不再执行该采集任务。
在本发明的一个实施例中,每个采集对象为一类资源对象或一类资源性能对象;当采集对象为一类资源对象时,该采集对象对应的资源数据为该类资源对象的资源配置数据;当采集对象为一类资源性能对象时,该采集对象对应的资源数据为该类资源性能对象的性能指标数据。
在本发明的一个实施例中,采集任务执行单元720,用于运行一个主线程;每隔预设时间间隔,利用该主线程依次轮询每个采集任务;对于每个采集任务,判断当前系统时间与该采集任务的上次采集时间的差值是否大于该采集任务的采集时间间隔,是则,确定该采集任务到达执行时刻,否则,确定该采集任务未到达执行时刻;采集任务执行单元720,还进一步用于在执行该采集任务时,记录相应的采集时间到缓存;当主线程再次轮询到该采集任务时,将所记录的采集时间作为该采集任务的上次采集时间。
在本发明的一个实施例中,采集任务执行单元720,用于生成对应于该采集任务的采集对象的多个子线程,每个子线程针对该采集对象构建一个采集器;将各采集器按顺序加入采集执行的线程池,由线程池并发执行多个采集器的采集操作;令每个采集器与虚拟化云平台建立连接,采集所述采集对象对应的资源数据。
在本发明的一个实施例中,采集任务执行单元720,进一步用于将采集到的资源数据统一处理为相同格式的字符串数据,放入数据收集队列线程池中。
需要说明的是,图7所示装置的各实施例与图2-图6所示的各实施例对应相同,上文中已有详细说明,在此不再赘述。
综上所述,本发明提供的技术方案通过执行多个采集任务实现对虚拟化云平台的数据采集以及数据展示;具体地,每个采集任务负责相应的采集对象,每个采集任务在到达执行时刻时开始执行,生成对应于采集对象的多个采集器,通过多个采集器并发地从虚拟化云平台中采集相应的资源数据;根据各采集任务采集到的资源数据生成虚拟化云平台中的资源拓扑结构。本方案与现有技术相比具有以下有益效果:1、多个采集任务分担不同采集对象、每个采集任务生成对应于其采集对象的多个采集器并发采集的方式能够极大地提高数据采集效率,缩短数据采集周期,进而实现对虚拟化云平台中的各资源的有效、不延迟监控;2、以拓扑形式展示采集到的虚拟化云平台中的资源结构,更加直观形象,能够体现出虚拟化云平台中的资源之间的逻辑继承关系;3、针对虚拟化云平台中的资源之间的继承关系,对采集到的父级资源对象的资源数据进行缓存,充分利用缓存数据的读取和写入加快数据采集效率,有效减少重复采集的次数;4、通过VMware官方提供的vSphere API以Java开发的方式连接到虚拟化云平台,不间断地定时读取资源对象的资源配置数据与资源性能对象的性能指标数据。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种虚拟化云平台的数据采集方法,其特征在于,该方法包括:
加载预先配置的多个采集任务,每个采集任务具有一个采集对象;
对于每个采集任务,判断该采集任务是否到达执行时刻;是则,执行该采集任务,生成对应于该采集任务的采集对象的多个采集器,并发地执行所述多个采集器,从虚拟化云平台中采集所述采集对象对应的资源数据;
根据各采集任务采集到的资源数据,生成虚拟化云平台中的资源拓扑结构并展示。
2.如权利要求1所述的方法,其特征在于,
所述从虚拟化云平台中采集所述采集对象对应的资源数据包括:根据虚拟化云平台中的资源的继承顺序对虚拟化云平台中的资源进行遍历,采集所述采集对象对应的资源数据,记录该资源数据归属的父资源标识;
则所述根据各采集任务采集到的资源数据,生成虚拟化云平台中的资源拓扑结构并展示包括:根据记录的各资源数据归属的父资源标识,生成包含虚拟化云平台中的资源之间的继承关系的资源拓扑结构。
3.如权利要求2所述的方法,其特征在于,该方法进一步包括:
在所述根据虚拟化云平台中的资源的继承顺序对虚拟化云平台中的资源进行遍历的过程中,记录遍历过的各资源数据到缓存;
则对于每个采集任务,在执行该采集任务之前,查看缓存中是否包含该采集任务的采集对象对应的资源数据,是则,直接从缓存中取出所述资源数据,不再执行该采集任务。
4.如权利要求1所述的方法,其特征在于,
每个采集对象为一类资源对象或一类资源性能对象;
当采集对象为一类资源对象时,该采集对象对应的资源数据为该类资源对象的资源配置数据;当采集对象为一类资源性能对象时,该采集对象对应的资源数据为该类资源性能对象的性能指标数据。
5.如权利要求1所述的方法,其特征在于,
所述对于每个采集任务,判断该采集任务是否到达执行时刻包括:运行一个主线程;每隔预设时间间隔,利用该主线程依次轮询每个采集任务;对于每个采集任务,判断当前系统时间与该采集任务的上次采集时间的差值是否大于该采集任务的采集时间间隔,是则,确定该采集任务到达执行时刻,否则,确定该采集任务未到达执行时刻;
该方法进一步包括:在执行该采集任务时,记录相应的采集时间到缓存;当主线程再次轮询到该采集任务时,将所记录的采集时间作为该采集任务的上次采集时间。
6.如权利要求1所述的方法,其特征在于,所述生成对应于该采集任务的采集对象的多个采集器,并发地执行所述多个采集器,从虚拟化云平台中采集所述采集对象对应的资源数据包括:
生成对应于该采集任务的采集对象的多个子线程,每个子线程针对该采集对象构建一个采集器;
将各采集器按顺序加入采集执行的线程池,由线程池并发执行多个采集器的采集操作;
令每个采集器与虚拟化云平台建立连接,采集所述采集对象对应的资源数据。
7.如权利要求1所述的方法,其特征在于,在所述根据各采集任务采集到的资源数据,生成虚拟化云平台中的资源拓扑结构并展示之前,该方法进一步包括:
将采集到的资源数据统一处理为相同格式的字符串数据,放入数据收集队列线程池中。
8.一种虚拟化云平台的数据采集装置,其特征在于,该装置包括:
采集任务加载单元,用于加载预先配置的多个采集任务,每个采集任务具有一个采集对象;
采集任务执行单元,用于对于每个采集任务,判断该采集任务是否到达执行时刻;是则,执行该采集任务,生成对应于该采集任务的采集对象的多个采集器,并发地执行所述多个采集器,从虚拟化云平台中采集所述采集对象对应的资源数据;
采集结果展示单元,用于根据各采集任务采集到的资源数据,生成虚拟化云平台中的资源拓扑结构并展示。
9.如权利要求8所述的装置,其特征在于,
所述采集任务执行单元,用于根据虚拟化云平台中的资源的继承顺序对虚拟化云平台中的资源进行遍历,采集所述采集对象对应的资源数据,记录该资源数据归属的父资源标识;
所述采集结果展示单元,用于根据记录的各资源数据归属的父资源标识,生成包含虚拟化云平台中的资源之间的继承关系的资源拓扑结构。
10.如权利要求9所述的装置,其特征在于,
所述采集任务执行单元,进一步用于在所述根据虚拟化云平台中的资源的继承顺序对虚拟化云平台中的资源进行遍历的过程中,记录遍历过的各资源数据到缓存;则对于每个采集任务,在执行该采集任务之前,查看缓存中是否包含该采集任务的采集对象对应的资源数据,是则,直接从缓存中取出所述资源数据,不再执行该采集任务。
CN201610279632.5A 2016-04-28 2016-04-28 一种虚拟化云平台的数据采集方法和装置 Pending CN107341040A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610279632.5A CN107341040A (zh) 2016-04-28 2016-04-28 一种虚拟化云平台的数据采集方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610279632.5A CN107341040A (zh) 2016-04-28 2016-04-28 一种虚拟化云平台的数据采集方法和装置

Publications (1)

Publication Number Publication Date
CN107341040A true CN107341040A (zh) 2017-11-10

Family

ID=60222718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610279632.5A Pending CN107341040A (zh) 2016-04-28 2016-04-28 一种虚拟化云平台的数据采集方法和装置

Country Status (1)

Country Link
CN (1) CN107341040A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881374A (zh) * 2018-04-28 2018-11-23 安徽四创电子股份有限公司 一种云计算资源架构前端展示的设计方法
CN109120704A (zh) * 2018-08-24 2019-01-01 郑州云海信息技术有限公司 一种云平台的资源监控方法、装置及设备
CN109445939A (zh) * 2018-10-19 2019-03-08 积成电子股份有限公司 一种基于主动出让机制的软实时调度内核的调度方法
CN109686073A (zh) * 2019-01-23 2019-04-26 积成电子股份有限公司 一种批量自动生成采集终端任务的方法
CN109753357A (zh) * 2018-12-25 2019-05-14 无锡华云数据技术服务有限公司 虚拟机管理平台的资源及网络拓扑构建方法、设备、介质
CN112395534A (zh) * 2019-08-02 2021-02-23 阿里巴巴集团控股有限公司 数据采集方法、对象加载方法、系统及设备
CN113571192A (zh) * 2021-09-24 2021-10-29 攀枝花市妇幼保健院(攀枝花市妇幼保健服务中心) 一种基于数据分析的健康预警方法、系统及存储介质
CN114598747A (zh) * 2022-03-15 2022-06-07 国网安徽省电力有限公司信息通信分公司 一种虚拟化云平台的数据采集方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020091819A1 (en) * 2001-01-05 2002-07-11 Daniel Melchione System and method for configuring computer applications and devices using inheritance
US20060041661A1 (en) * 2004-07-02 2006-02-23 Erikson John S Digital object repositories, models, protocol, apparatus, methods and software and data structures, relating thereto
CN102929684A (zh) * 2012-09-08 2013-02-13 佳都新太科技股份有限公司 一种虚拟机拓扑图绘制的实现方法
CN102932160A (zh) * 2011-08-10 2013-02-13 中兴通讯股份有限公司 一种资源管理系统
CN103037019A (zh) * 2013-01-07 2013-04-10 北京华胜天成科技股份有限公司 一种基于云计算的分布式数据采集系统及方法
CN104025513A (zh) * 2011-11-01 2014-09-03 普莱克希公司 数据中心网络中的控制层级
CN104065741A (zh) * 2014-07-04 2014-09-24 用友软件股份有限公司 数据采集系统和数据采集方法
CN105487914A (zh) * 2014-09-16 2016-04-13 北京神州泰岳软件股份有限公司 一种呈现虚拟化平台拓扑图的方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020091819A1 (en) * 2001-01-05 2002-07-11 Daniel Melchione System and method for configuring computer applications and devices using inheritance
US20060041661A1 (en) * 2004-07-02 2006-02-23 Erikson John S Digital object repositories, models, protocol, apparatus, methods and software and data structures, relating thereto
CN102932160A (zh) * 2011-08-10 2013-02-13 中兴通讯股份有限公司 一种资源管理系统
CN104025513A (zh) * 2011-11-01 2014-09-03 普莱克希公司 数据中心网络中的控制层级
CN102929684A (zh) * 2012-09-08 2013-02-13 佳都新太科技股份有限公司 一种虚拟机拓扑图绘制的实现方法
CN103037019A (zh) * 2013-01-07 2013-04-10 北京华胜天成科技股份有限公司 一种基于云计算的分布式数据采集系统及方法
CN104065741A (zh) * 2014-07-04 2014-09-24 用友软件股份有限公司 数据采集系统和数据采集方法
CN105487914A (zh) * 2014-09-16 2016-04-13 北京神州泰岳软件股份有限公司 一种呈现虚拟化平台拓扑图的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱小厮: "使用VMware VSphere WebService SDK进行开发(七)——获取数据中心、集群、主机、虚拟机的目录结构", 《HTTPS://YQ.ALIYUN.COM/ARTICLES/238493》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881374A (zh) * 2018-04-28 2018-11-23 安徽四创电子股份有限公司 一种云计算资源架构前端展示的设计方法
CN108881374B (zh) * 2018-04-28 2021-07-27 安徽四创电子股份有限公司 一种云计算资源架构前端展示的设计方法
CN109120704A (zh) * 2018-08-24 2019-01-01 郑州云海信息技术有限公司 一种云平台的资源监控方法、装置及设备
CN109120704B (zh) * 2018-08-24 2022-08-02 郑州云海信息技术有限公司 一种云平台的资源监控方法、装置及设备
CN109445939A (zh) * 2018-10-19 2019-03-08 积成电子股份有限公司 一种基于主动出让机制的软实时调度内核的调度方法
CN109753357A (zh) * 2018-12-25 2019-05-14 无锡华云数据技术服务有限公司 虚拟机管理平台的资源及网络拓扑构建方法、设备、介质
CN109686073A (zh) * 2019-01-23 2019-04-26 积成电子股份有限公司 一种批量自动生成采集终端任务的方法
CN112395534A (zh) * 2019-08-02 2021-02-23 阿里巴巴集团控股有限公司 数据采集方法、对象加载方法、系统及设备
CN113571192A (zh) * 2021-09-24 2021-10-29 攀枝花市妇幼保健院(攀枝花市妇幼保健服务中心) 一种基于数据分析的健康预警方法、系统及存储介质
CN114598747A (zh) * 2022-03-15 2022-06-07 国网安徽省电力有限公司信息通信分公司 一种虚拟化云平台的数据采集方法及系统
CN114598747B (zh) * 2022-03-15 2023-09-29 国网安徽省电力有限公司信息通信分公司 一种虚拟化云平台的数据采集方法及系统

Similar Documents

Publication Publication Date Title
CN107341040A (zh) 一种虚拟化云平台的数据采集方法和装置
US12063265B2 (en) Efficient, automated distributed-search methods and systems
US10489215B1 (en) Long-range distributed resource planning using workload modeling in hyperconverged computing clusters
JP6750047B2 (ja) アプリケーション移行システム
CN109328335B (zh) 智能配置发现技术
US9424274B2 (en) Management of intermediate data spills during the shuffle phase of a map-reduce job
US11715025B2 (en) Method for forecasting distributed resource utilization in a virtualization environment
CN108132838B (zh) 一种图数据处理的方法、装置及系统
US9866481B2 (en) Comprehensive bottleneck detection in a multi-tier enterprise storage system
Silva et al. Cloudbench: Experiment automation for cloud environments
EP3579110A1 (en) Performance testing platform that enables reuse of automation scripts and performance testing scalability
CN102446114B (zh) 优化虚拟图形处理单元利用的方法和系统
US20110012902A1 (en) Method and system for visualizing the performance of applications
US20190235906A1 (en) Monitoring applications running on containers
US20200026566A1 (en) Workload identification and display of workload-specific metrics
CN104915793A (zh) 基于大数据分析挖掘的公共信息智能分析平台
CN104486255A (zh) 业务资源调度方法和装置
CN107967180B (zh) 基于numa虚拟化环境下资源全局亲和度网络优化方法和系统
CN103885820B (zh) 信息处理装置和信息处理方法
US11036608B2 (en) Identifying differences in resource usage across different versions of a software application
CN106354729A (zh) 一种图数据处理方法、装置和系统
CN106557400A (zh) 设备中动态数据收集的方法以及相应的设备
CN104937548A (zh) 动态图的性能监视
US11055568B2 (en) Method and system that measure application response time
CN112379869A (zh) 一种标准化开发训练平台

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Room 818, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Applicant after: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd.

Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A Room 601

Applicant before: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20171110

RJ01 Rejection of invention patent application after publication