一种数据监控方法、装置及系统转让专利

申请号 : CN201310214933.6

文献号 : CN103294581B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黎智云

申请人 : 新浪网技术(中国)有限公司

摘要 :

本发明公开了一种数据监控方法、装置及系统,应用于PaaS平台上运行的第一应用,包括:第一应用获取自身所位于进程的运行状况数据,作为PaaS平台上运行的且与第一应用位于同一进程中的第二应用的运行状况数据;并展现获取的第二应用的运行状况数据。采用本发明实施例提供的方案,实现了对PaaS平台上运行的应用的运行状况数据的监控。

权利要求 :

1.一种数据监控方法,应用于平台即服务PaaS平台上运行的第一应用,其特征在于,包括:所述第一应用获取自身所位于进程的运行状况数据,作为所述PaaS平台上运行的且与所述第一应用位于同一进程中的第二应用的运行状况数据;

展现获取的所述第二应用的运行状况数据;

其中,所述PaaS平台为Java PaaS平台;所述第一应用获取自身所位于进程的运行状况数据,具体包括:所述第一应用通过自身包括的Java管理扩展JMX,确定自身所位于进程的待获取运行状况数据的数据接口;

从所述数据接口获取自身所位于进程的运行状况数据。

2.如权利要求1所述的方法,其特征在于,运行状况数据至少包括如下数据之一:堆内存数据;

非堆内存数据;

类加载数据;

线程运作情况数据;

中央处理器CPU使用情况数据。

3.一种数据监控装置,集成于平台即服务PaaS平台上运行的第一应用,其特征在于,包括:数据获取单元,用于获取所述第一应用所位于进程的运行状况数据,作为所述PaaS平台上运行的且与所述第一应用位于同一进程中的第二应用的运行状况数据;

展现单元,用于展现获取的所述第二应用的运行状况数据;

其中,所述PaaS平台为Java PaaS平台;所述数据获取单元,具体用于通过包括的Java管理扩展JMX,确定所述第一应用所位于进程的待获取运行状况数据的数据接口;并从所述数据接口获取所述第一应用所位于进程的运行状况数据。

4.一种数据监控方法,应用于平台即服务PaaS平台上运行的应用,其特征在于,包括:所述应用获取自身所位于进程的运行状况数据,作为自身的运行状况数据;

展现获取的所述运行状况数据;

其中,所述PaaS平台为Java PaaS平台;所述应用获取自身所位于进程的运行状况数据,具体包括:所述应用通过自身包括的Java管理扩展JMX,确定自身所位于进程的待获取运行状况数据的数据接口;

从所述数据接口获取自身所位于进程的运行状况数据。

5.一种数据监控装置,集成于平台即服务PaaS平台上运行的应用,其特征在于,包括:数据获取单元,用于获取所述应用所位于进程的运行状况数据,作为所述应用的运行状况数据;

展现单元,用于展现获取的所述运行状况数据;

其中,所述PaaS平台为Java PaaS平台,所述数据获取单元,具体用于通过自身包括的Java管理扩展JMX,确定自身所位于进程的待获取运行状况数据的数据接口;并从所述数据接口获取自身所位于进程的运行状况数据。

说明书 :

一种数据监控方法、装置及系统

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种数据监控方法、装置及系统。

背景技术

[0002] 目前,应用(APP,Application)在实际运行和使用的过程中,需要针对应用进行数据监控,以便了解应用的运行和使用状况,监控的数据可以包括使用状况数据和运行状况数据。其中,使用状况数据可以为应用在被用户使用的过程中与用户所执行的操作相关的统计数据,如页面浏览量(PV,Page View)和应用日志数据等,使用状况数据也可以称作应用上层数据或应用表层数据;运行状况数据可以为反应应用在运行过程中的运行状况的数据,如内存数据、线程数据中央处理器(CPU,Central Processing Unit)数据等,运行状况数据也可以称作应用底层数据。
[0003] 云计算中的平台即服务(PaaS,Platform-as-a-server)模式,是将软件研发平台作为一种服务提供给用户,用户仅需将应用托管至PaaS平台上,应用的运维、数据监控和数据统计等工作均由PaaS平台来完成。
[0004] 现有针对PaaS平台上运行的应用的数据监控方案中,是通过位于PaaS平台之外的监控设备实现,其监控系统的结构示意图如图1所示,其中,监控设备通过与PaaS平台上运行的应用之间的信息交互,获得监控数据,并将获得的监控数据在存储设备上进行存储,然后通过前端设备展现给用户。
[0005] 然而,在上述图1所示的数据监控方案中,监控设备位于PaaS平台之外,所以针对较为封闭的PaaS平台上运行的应用,其仅能获取该应用的上层数据,其一些使用情况数据,而无法获取该应用的底层数据,即无法获取应用的运行状况数据。
[0006] 因此,现有技术中存在无法对PaaS平台上运行的应用的运行状况数据进行监控的问题。

发明内容

[0007] 本发明实施例提供一种数据监控方法、装置及系统,用以解决现有技术中存在的无法对PaaS平台上运行的应用的运行状况数据进行监控的问题。
[0008] 本发明实施例提供一种数据监控方法,应用于PaaS平台上运行的第一应用,包括:
[0009] 所述第一应用获取自身所位于进程的运行状况数据,作为所述PaaS平台上运行的且与所述第一应用位于同一进程中的第二应用的运行状况数据;
[0010] 展现获取的所述第二应用的运行状况数据。
[0011] 本发明实施例还提供一种数据监控装置,集成于PaaS平台上运行的第一应用,包括:
[0012] 数据获取单元,用于获取所述第一应用所位于进程的运行状况数据,作为所述PaaS平台上运行的且与所述第一应用位于同一进程中的第二应用的运行状况数据;
[0013] 展现单元,用于展现获取的所述第二应用的运行状况数据。
[0014] 本发明实施例还提供一种数据监控系统,包括:PaaS平台上运行的第一应用,以及所述PaaS平台上运行的且与所述第一应用位于同一进程中的第二应用,其中:
[0015] 所述第一应用,用于获取自身所位于进程的运行状况数据,作为所述第二应用的运行状况数据;并展现获取的所述第二应用的运行状况数据。
[0016] 本发明实施例还提供一种数据监控方法,应用于PaaS平台上运行的应用,包括:
[0017] 所述应用获取自身所位于进程的运行状况数据,作为自身的运行状况数据;
[0018] 展现获取的所述运行状况数据。
[0019] 本发明实施例还提供一种数据监控装置,集成于PaaS平台上运行的应用,包括:
[0020] 数据获取单元,用于获取所述应用所位于进程的运行状况数据,作为所述应用的运行状况数据;
[0021] 展现单元,用于展现获取的所述运行状况数据。
[0022] 本发明有益效果包括:
[0023] 本发明实施例提供的上述一种方案中,在针对PaaS平台上运行的应用进行监控时,可以由第一应用获取自身所位于进程的运行状况数据,作为PaaS平台上运行的且与第一应用位于同一进程中的第二应用的运行状况数据,并展现获取的第二应用的运行状况数据。由于第一应用和第二应用在PaaS平台上运行时位于同一个进程,所以第一应用和第二应用各自所位于进程的运行状况数据相同,所以该方法中第一应用获取自身所位于进程的运行状况数据,可以作为第二应用的运行状况数据,从而实现对第二应用的运行状况数据的监控。
[0024] 本发明实施例提供的上述另一种方案中,在针对PaaS平台上运行的应用进行监控时,可以由应用获取自身所位于进程的运行状况数据,作为自身的运行状况数据,并展现获取的运行状况数据。由于应用是运行在PaaS平台之上的,所以能够通过获取自身所位于进程的运行状况数据,作为自身的运行状况数据,从而实现对自身运行状况数据的监控。
[0025] 本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

[0026] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0027] 图1为现有技术中进行数据监控的监控系统的结构示意图;
[0028] 图2为本发明实施例1提供的数据监控方法的流程图;
[0029] 图3为本发明实施例1提供的数据监控装置的结构示意图;
[0030] 图4为本发明实施例1提供的数据监控系统的结构示意图;
[0031] 图5为本发明实施例2提供的数据监控方法的流程图;
[0032] 图6为本发明实施例2提供的数据监控装置的结构示意图。

具体实施方式

[0033] 为了给出对PaaS平台上运行的应用的运行状况数据进行监控的实现方案,本发明实施例提供了一种数据监控方法、装置及系统,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0034] 实施例1:
[0035] 本发明实施例1提供一种数据监控方法,应用于PaaS平台上运行的第一应用,如图2所示,包括:
[0036] 步骤201、第一应用获取自身所位于进程的运行状况数据,作为PaaS平台上运行的且与第一应用位于同一进程中的第二应用的运行状况数据。
[0037] 步骤202、展现获取的第二应用的运行状况数据。
[0038] 在上述数据监控方法中,PaaS平台上运行的第二应用作为被监控应用,并由与第二应用位于同一进程的第一应用实现对第二应用的运行状况数据的监控。由于第一应用也是运行在PaaS平台上的应用,所以相比现有技术中位于PaaS平台之外的监控设备,其能够较容易的从应用所位于进程内获取到运行状况数据。
[0039] 由于一个应用所位于进程的运行状况数据可以表示该应用的运行状况,即可以作为该应用的运行状况数据,并且,上述方案中第一应用与第二应用位于同一进程,所以,第一应用获取的自身所位于进程的运行状况数据,是可以作为第二应用的运行状况数据的,并通过展现获取的第二应用的运行状况数据,实现作为被监控应用的第二应用的运行状况数据的监控。
[0040] 并且,在展现运行状况数据时,第一应用可以通过自身的展示页面进行展现。
[0041] 上述步骤201中,第一应用在获取自身所位于进程的运行状况数据时,具体可以通过自身包括的Java管理扩展(JMX,Java Management Extensions),确定自身所位于进程的待获取运行状况数据的数据接口,并从数据接口获取自身所位于进程的运行状况数据。
[0042] JMX是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
[0043] 本发明实施例1中,具体如何通过JMX确定进程的待获取运行状况数据的数据接口,以及从数据接口获取进程的运行状况数据,可以参照现有的JMX技术,在此不再进行详细描述。
[0044] 本发明实施例1中,所需要监控的运行状况数据可以根据实际需要进行灵活设置,例如,可以至少包括如下数据之一:
[0045] 堆内存数据;
[0046] 非堆内存数据;
[0047] 类加载数据;
[0048] 线程运作情况数据;
[0049] CPU,Central Processing Unit使用情况数据。
[0050] 其中,堆内存数据还可以进一步包括:
[0051] 年轻代(Young Generation)数据、年老代(Old Generation)数据和持久代(Permanent Generation)数据。
[0052] 采用本发明实施例1提供的上述数据监控方法,不仅能够实现对PaaS平台上运行的应用的运行状况数据进行监控,而且可以在需要对一个应用进行数据监控时,通过在该应用所位于进程中加入另外一个应用,用于数据监控即可,在需要取消监控时,只需要从该被监控的应用所位于进程中移除该用于数据监控的另一个应用即可,而不会对需要监控的该应用造成运行上的影响,能够更方便的实现对PaaS平台上运行的应用的运行状况数据的监控。
[0053] 基于同一发明构思,根据本发明上述实施例1提供的数据监控方法,相应地,本发明实施例1还提供了一种数据监控装置,集成于PaaS平台上运行的第一应用,其结构示意图如图3所示,具体包括:
[0054] 数据获取单元301,用于获取所述第一应用所位于进程的运行状况数据,作为所述PaaS平台上运行的且与所述第一应用位于同一进程中的第二应用的运行状况数据;
[0055] 展现单元302,用于展现获取的所述第二应用的运行状况数据。
[0056] 进一步的,PaaS平台为Java PaaS平台;
[0057] 数据获取单元301,具体用于通过包括的Java管理扩展JMX,确定所述第一应用所位于进程的待获取运行状况数据的数据接口;并从所述数据接口获取所述第一应用所位于进程的运行状况数据。
[0058] 进一步的,运行状况数据至少包括如下数据之一:
[0059] 堆内存数据;
[0060] 非堆内存数据;
[0061] 类加载数据;
[0062] 线程运作情况数据;
[0063] CPU使用情况数据。
[0064] 上述各单元的功能可对应于图2所示流程中的相应处理步骤,在此不再赘述。
[0065] 基于同一发明构思,根据本发明上述实施例1提供的数据监控方法,相应地,本发明实施例1还提供了一种数据监控系统,其结构示意图如图4所示,具体包括:PaaS平台上运行的第一应用401,以及PaaS平台上运行的且与第一应用401位于同一进程中的第二应用402,其中:
[0066] 第一应用401,用于获取自身所位于进程的运行状况数据,作为第二应用402的运行状况数据;并展现获取的第二应用402的运行状况数据。
[0067] 进一步的,PaaS平台为Java PaaS平台;
[0068] 第一应用401,具体用于通过自身包括的Java管理扩展JMX,确定自身所位于进程的待获取运行状况数据的数据接口;并从所述数据接口获取自身所位于进程的运行状况数据。
[0069] 进一步的,运行状况数据至少包括如下数据之一:
[0070] 堆内存数据;
[0071] 非堆内存数据;
[0072] 类加载数据;
[0073] 线程运作情况数据;
[0074] CPU使用情况数据。
[0075] 综上所述,本发明实施例1提供的方案,应用于PaaS平台上运行的第一应用,包括:第一应用获取自身所位于进程的运行状况数据,作为PaaS平台上运行的且与第一应用位于同一进程中的第二应用的运行状况数据;并展现获取的第二应用的运行状况数据。采用本发明实施例1提供的方案,实现了对PaaS平台上运行的应用的运行状况数据的监控。
[0076] 实施例2:
[0077] 本发明实施例2提供一种数据监控方法,应用于PaaS平台上运行的应用,如图5所示,包括:
[0078] 步骤501、该应用获取自身所位于进程的运行状况数据,作为自身的运行状况数据。
[0079] 步骤502、展现获取的该运行状况数据。
[0080] 在上述图5所示的监控方法中,是由PaaS平台上运行的应用对自身的运行状况数据来进行获取和展现,所以相比现有技术中位于PaaS平台之外的监控设备,其能够较容易的从自身所位于进程内获取到运行状况数据。
[0081] 由于一个应用所位于进程的运行状况数据可以表示该应用的运行状况,即可以作为该应用的运行状况数据,所以,上述图5所示的数据监控方法中,PaaS平台上运行的应用获取的自身所位于进程的运行状况数据,是可以作为自身的运行状况数据的,并通过展现获取的运行状况数据,实现对自身的运行状况数据的监控。
[0082] 并且,在展现运行状况数据时,该应用可以通过自身的展示页面进行展现。
[0083] 上述步骤501中,应用在获取自身所位于进程的运行状况数据时,具体可以通过自身包括的Java管理扩展(JMX,Java Management Extensions),确定自身所位于进程的待获取运行状况数据的数据接口,并从数据接口获取自身所位于进程的运行状况数据。
[0084] JMX是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
[0085] 本发明实施例2中,具体如何通过JMX确定进程的待获取运行状况数据的数据接口,以及从数据接口获取进程的运行状况数据,可以参照现有的JMX技术,在此不再进行详细描述。
[0086] 本发明实施例2中,所需要监控的运行状况数据可以根据实际需要进行灵活设置,例如,可以至少包括如下数据之一:
[0087] 堆内存数据;
[0088] 非堆内存数据;
[0089] 类加载数据;
[0090] 线程运作情况数据;
[0091] CPU使用情况数据。
[0092] 其中,堆内存数据还可以进一步包括:
[0093] 年轻代(Young Generation)数据、年老代(Old Generation)数据和持久代(Permanent Generation)数据。
[0094] 采用本发明实施例2提供的上述数据监控方法,由于应用是运行在PaaS平台之上的,所以能够通过获取自身所位于进程的运行状况数据,作为自身的运行状况数据,从而实现对自身运行状况数据的监控。
[0095] 基于同一发明构思,根据本发明上述实施例2提供的数据监控方法,相应地,本发明实施例2还提供了一种数据监控装置,集成于PaaS平台上运行的应用,其结构示意图如图6所示,具体包括:
[0096] 数据获取单元601,用于获取所述应用所位于进程的运行状况数据,作为所述应用的运行状况数据;
[0097] 展现单元602,用于展现获取的所述运行状况数据。
[0098] 进一步的,PaaS平台为Java PaaS平台;
[0099] 数据获取单元601,具体用于通过包括的Java管理扩展JMX,确定所述应用所位于进程的待获取运行状况数据的数据接口;并从所述数据接口获取所述应用所位于进程的运行状况数据。
[0100] 进一步的,运行状况数据至少包括如下数据之一:
[0101] 堆内存数据;
[0102] 非堆内存数据;
[0103] 类加载数据;
[0104] 线程运作情况数据;
[0105] CPU使用情况数据。
[0106] 上述各单元的功能可对应于图5所示流程中的相应处理步骤,在此不再赘述。
[0107] 综上所述,本发明实施例2提供的方案,应用于PaaS平台上运行的应用,包括:该应用获取自身所位于进程的运行状况数据,作为自身的运行状况数据;并展现获取的该运行状况数据。采用本发明实施例2提供的方案,实现了对PaaS平台上运行的应用的运行状况数据的监控。
[0108] 本申请的实施例所提供的监控装置和监控系统可通过计算机程序实现。本领域技术人员应该能够理解,上述的模块划分方式仅是众多模块划分方式中的一种,如果划分为其他模块或不划分模块,只要监控装置和监控系统具有上述功能,都应该在本申请的保护范围之内。
[0109] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0110] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0111] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0112] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。