CN109886327B - 一种分布式***中Java数据的处理***及方法 - Google Patents

一种分布式***中Java数据的处理***及方法 Download PDF

Info

Publication number
CN109886327B
CN109886327B CN201910110988.XA CN201910110988A CN109886327B CN 109886327 B CN109886327 B CN 109886327B CN 201910110988 A CN201910110988 A CN 201910110988A CN 109886327 B CN109886327 B CN 109886327B
Authority
CN
China
Prior art keywords
stack information
java
target stack
target
processing
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.)
Active
Application number
CN201910110988.XA
Other languages
English (en)
Other versions
CN109886327A (zh
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 QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910110988.XA priority Critical patent/CN109886327B/zh
Publication of CN109886327A publication Critical patent/CN109886327A/zh
Application granted granted Critical
Publication of CN109886327B publication Critical patent/CN109886327B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种分布式***中Java数据的处理***及方法,该分布式***中Java数据的处理***包括用户浏览器、后台服务器、数据库以及多个性能分析线程,所述后台服务器包括收集运行时栈信息的线程、接收模块以及分析模块。其中,接收模块用于获取待分析Java程序中各线程运行时的栈信息,并保存所述栈信息至所述数据库,所述栈信息表征所述待分析Java进程的类型以及所述待分析Java进程所采用的方法调用类型。分析模块用于确定符合预设规则的所述数据库中存储的所述栈信息为目标栈信息,对所述目标栈信息进行聚类,并输出聚类结果。可见,本实施例提供的分布式***中Java数据的处理***,对多个线程运行时的栈信息进行聚类,进而提高Java性能分析的多样性。

Description

一种分布式***中Java数据的处理***及方法
技术领域
本申请涉及数据处理技术领域,具体涉及一种分布式***中Java数据的处理***及方法。
背景技术
目前,Java性能分析只支持单机模式,即对单个Java进程的性能进行分析,使得Java性能分析较为单一。
而随着分布式***的快速发展,发明人发现,单一的Java性能分析不能满足分布式***的综合分析。因此,如何提供一种分布式***中Java数据的处理方法及***,能够提高Java性能分析的多样性,是本领域技术人员亟待解决的一大技术难题。
发明内容
有鉴于此,本申请实施例提供了一种工作流管理***及方法,能够提高Java性能分析的多样性。
为实现上述目的,本申请实施例提供如下技术方案:
一种分布式***中Java数据的处理***,包括用户浏览器、后台服务器、数据库以及多个性能分析线程,所述后台服务器包括收集运行时的栈信息的线程,所述后台服务器还包括:
接收模块,用于获取待分析Java程序中各线程运行时的栈信息,并保存所述栈信息至所述数据库,所述栈信息表征所述待分析Java进程的类型以及所述待分析Java进程所采用的方法调用类型;
分析模块,用于确定所述数据库中存储的符合预设规则的所述栈信息为目标栈信息,对所述目标栈信息进行聚类,并输出聚类结果。
可选的,所述分析模块包括:
第一获取单元,用于获取所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比;
和/或,第二获取单元,用于获取所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间;
和/或,第三获取单元,用于获取所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比。
可选的,所述后台服务器还包括:
展示模块,用于将所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比通过火焰图进行展示。
可选的,所述展示模块还用于:
将所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间通过柱状图进行展示。
可选的,所述展示模块还用于:
将所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比通过柱状图进行展示。
一种分布式***中Java数据的处理方法,应用于任意一项上述的Java数据的处理***,所述处理方法包括:
获取待分析Java程序中各线程运行时的栈信息,并保存所述栈信息至所述数据库,所述栈信息表征所述待分析Java进程的类型以及所述待分析Java进程所采用的方法调用类型;
确定符合预设规则的所述数据库中存储的所述栈信息为目标栈信息,对所述目标栈信息进行聚类,并输出聚类结果。
可选的,所述对所述目标栈信息进行聚类包括:
获取所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比;
和/或,获取所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间;
和/或,获取所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比。
可选的,还包括:
将所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比通过火焰图进行展示。
可选的,还包括:
将所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间通过柱状图进行展示。
可选的,还包括:
将所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比通过柱状图进行展示。
基于上述技术方案,本申请提供了一种分布式***中Java数据的处理***,包括用户浏览器、后台服务器、数据库以及多个性能分析线程,所述后台服务器包括收集运行时栈信息的线程、接收模块以及分析模块。其中,接收模块用于获取待分析Java程序中各线程运行时的栈信息,并保存所述栈信息至所述数据库,所述栈信息表征所述待分析Java进程的类型以及所述待分析Java进程所采用的方法调用类型。分析模块用于确定符合预设规则的所述数据库中存储的所述栈信息为目标栈信息,对所述目标栈信息进行聚类,并输出聚类结果。可见,本实施例提供的分布式***中Java数据的处理***,对多个线程运行时的栈信息进行聚类,进而提高Java性能分析的多样性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种分布式***中Java数据的处理***的结构框图;
图2为本申请实施例提供的一种分布式***中Java数据的处理方法的流程图;
图3为本申请实施例提供的一种分布式***中Java数据的处理方法的又一流程图;
图4为本申请实施例提供的一种分布式***中Java数据的处理方法的又一流程图;
图5为本申请实施例提供的一种分布式***中Java数据的处理方法的又一流程图;
图6为本申请实施例提供的一种分布式***中Java数据的处理方法的信令流程图;
图7为本申请实施例提供的一种分布式***中Java数据的处理***的结构示意图;
图8为本申请实施例提供的一种分布式***中Java数据的处理***的又一结构示意图;
图9为本申请实施例提供的一种分布式***中Java数据的处理***的又一结构示意图;
图10为本申请实施例提供的一种服务器的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种分布式***中Java数据的处理***的结构框图,该图所示的分布式***中Java数据的处理***可以用于实现本申请实施例提供的分布式***中Java数据的处理方法。参照图1,该分布式***中Java数据的处理***可以包括:用户浏览器100、后台服务器200、数据库300以及多个性能分析线程400。
其中,后台服务器200为网络侧为获取待分析Java程序中各线程运行时的栈信息的服务设备,其可能是多台服务器组成的服务器集群,也可能是单台服务器。
性能分析线程400是与后台服务器200相对应的Java进程,其中,一个Java进程可以包括至少一个性能分析线程400。Java进程可以为用户提供本地服务的程序,如APP,还可以为应用在其他服务器中待处理的Java进程。
在实际应用中,用户浏览器100一般装载在手机、平板电脑、笔记本电脑等用户设备上,在本实施例中,用户浏览器100可以是装载在这些用户设备上的浏览器应用,其可以包括多种平台版本。
数据库300可以为一个数据库,也可以为具有多个子数据库的数据库,其用于对数据进行存储。
基于图1所示的分布式***中Java数据的处理***,下面从服务器的角度对本申请提供的分布式***中Java数据的处理方法进行介绍。如图2所示,为本申请实施例提供的分布式***中Java数据的处理方法的流程图,该方法应用于分布式***中Java数据的处理***,可以包括:
S21、获取待分析Java程序中各线程运行时的栈信息,并保存所述栈信息至所述数据库。
其中,所述栈信息表征所述待分析Java进程的类型以及所述待分析Java进程所采用的方法调用类型,除此,桟信息还可以表征所述待分析Java进程所在的数据中心信息idc,还可以表征待分析Java进程所在机器的信息host,等。通常,进程是指运行过程中的程序,后台服务器处理多个任务,每个任务通常为一个进程,一个进程又可以分为多个顺序执行的线程。
而每个线程在被执行时,需要预先定义方法调用,以使得能够按照定义的方法调用执行该线程。具体的,方法调用可以分为静态方法以及非静态方法,其中,静态方法直接使用类名、方法名、调用的方式执行。非静态方法可以包括实例构造器<int>方法,还可以包括虚方法以及接口方法等,其均是通过new新建对象,然后使用对象、方法名、调用的方式执行。
在本实施例中,后台服务器200中的接收模块用于获取各线程运行时的栈信息,并将栈信息存储至数据库300中。具体的,接收模块对各线程运行时的栈信息进行获取可以通过如下方式实现:
在Java进程中设置启动参数--Java agent,其中,Java agent是运行在Java进程采用的main方法(方法调用中的一种)之前的***,其内定的方法名为premain,即,在启动了Java agent后,Java进程先执行方法premain,再执行main方法。可见,Java agent可以在字节码层面对类以及方法进行修改,以实现不影响正常编译的情况下,修改字节码的目的。
具体的,在本实施例中,通过在Java程序中启动Java agent,使得该Java agent中指定的jar以及用户参数,使得Java进程中增加一个线程用于收集各线程运行时的栈信息,然后将获取到的栈信息周期性的发送至数据库中存储。
S22、确定符合预设规则的所述数据库中存储的所述栈信息为目标栈信息,对所述目标栈信息进行聚类,并输出聚类结果。
其中,步骤S21已经将栈信息存储至数据库300中,本步骤S22可以按照预设规则从数据库中筛选出至少部分栈信息为目标栈信息,例如,获取数据库中所有栈信息中运行时间符合某个时间段的线程的栈信息为目标栈信息。或者,对数据库中的栈信息进行分类,将具有同一Java进程的栈信息确定为目标栈信息。又或者,将使用同一方法调用的线程确定为目标栈信息,等。
在确定出目标栈信息后,本实施例中,后台服务器200中的分析模块对目标栈信息进行聚类分析,得到多维度的聚类结果。
具体的,如图3所示,在本实施例提供了一种对所述目标栈信息进行聚类的具体实现方法,包括:
S31、获取所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比;
和/或,
S32、获取所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间;
和/或,
S33、获取所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比。
其中,在本实施例中,栈信息至少表征所述待分析Java进程的类型以及所述待分析Java进程所采用的方法调用类型,在获取了多个栈信息后,后台服务器200中的分析模块可以定期从数据库中获取符合预设条件的栈信息,确定为目标栈信息,然后对目标栈信息从Java进程以及方法调用两个维度进行聚类。
例如,将方法调用对目标栈信息中所有的Java进程进行汇总,具体的,将所有的Java进程作为一个整体,查看每个但方法调用的时间占比。或者,将Java进程对所有方法调用汇总,具体的,将方法调用组成一个整体,查看每个Java进程所消耗的时间。或者,将指定的方法调用对单个Java进程进行汇总,具体的,比较某一个方法调用在不同Java进程之间的时间占比。
示意性的,假设后台服务器200中的接收模块获取了半个小时内运行的线程的栈信息,共计1000个栈信息。然后后台服务器中的分析模块确定出十分钟内运行的线程的栈信息为目标栈信息,假设为300个栈信息。
而每个线程的栈信息至少表征所述待分析Java进程的类型以及所述待分析Java进程所采用的方法调用类型,在本实施例中,假设300个目标栈信息包括100个Java进程以及10个方法调用。那么,上述步骤S31则是将100个Java进程作为一个整体,并计算10个方法调用中每个方法调用所占用全部方法调用的时间占比,例如,10个方法调用的总时长为10分钟,而其中一个方法调用的时间为3分钟,因此,该方法调用的时间占比为十分之三,同理,可以计算出其他方法调用的时间占比。
而上述步骤S32则是将10个方法调用作为一个整体,并计算100个Java进程中每类Java进程所消耗的时间,例如Java进程1所消耗的时间为3分钟,Java进程2所消耗的时间为1分钟等。
需要说明的是,在本实施例中,步骤S33与步骤S32以及步骤S31为并列的步骤,三者之间可以同时进行,也可以根据实际的需求择一或者择二。具体的,步骤S33是计算每类Java进程中每个方法调用的时间占比,结合上述100个Java进程的例子,本实施例中分别计算100个Java进程中使用的方法调用的占用时间,假设Java进程1中使用了2个方法调用,则对应计算Java进程1中方法调用1以及方法调用2的时间占比。
其中,步骤S31可以一定程度表征代码块瓶颈,步骤S32可以一定程度表征机器性能瓶颈,步骤S33可以一定程度表征代码块在特定机器的性能瓶颈。
在上述实施例的基础上,如图4所示,本实施例提供的分布式***中Java数据的处理方法,还包括步骤:
S41、将所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比通过火焰图进行展示。
除此,如图5所示,本实施例提供的分布式***中Java数据的处理方法,还可以包括步骤:
S51、将所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间通过柱状图进行展示。
和/或,
S52、将所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比通过柱状图进行展示。
可见,本实施例在上述实施例的基础上,将步骤S31、步骤S32以及步骤S33获取到的时间占比在用户浏览器100上进行展示,并提供了多种显示方式,如火焰图或者柱状图等。
需要说明的是,本实施例并不局限于火焰图以及柱状图,还可以为其他展示方式,如热力地图,曲线图等。
综上,结合本申请实施例提供的分布式***中Java数据的处理方法,如图6所示,本实施例对分布式***中Java数据的处理***的信令流程进行介绍,如下:
S61、后台服务器中的接收模块获取待分析Java程序中各线程运行时的栈信息,并保存所述栈信息至所述数据库。
其中,所述栈信息表征所述待分析Java进程的类型以及所述待分析Java进程所采用的方法调用类型。
S62、后台服务器中的分析模块确定符合预设规则的所述数据库中存储的所述栈信息为目标栈信息,对所述目标栈信息进行聚类,并输出聚类结果。
具体的,所述分析模块在对所述目标栈信息进行聚类时,具体为:
第一获取单元获取所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比;
和/或,第二获取单元获取所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间;
和/或,第三获取单元获取所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比。
S63、后台服务器中的展示模块将聚类结果进行展示。
具体的,将聚类结果进行展示可以具体为:
将所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比通过火焰图进行展示。
将所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间通过柱状图进行展示。
将所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比通过柱状图进行展示。
可见,本实施例提供的分布式***中Java数据的处理***通过对多个线程运行时的栈信息进行聚类,进而提高Java性能分析的多样性。
下面对本申请实施例提供的服务器进行介绍,下文描述的服务器与上文以服务器角度描述的分布式***中Java数据的处理方法相互对应参照。如图7所示,为本申请实施例提供的后台服务器200的结构框图,参照图7,该服务器可以包括:
接收模块71,用于获取待分析Java程序中各线程运行时的栈信息,并保存所述栈信息至所述数据库,所述栈信息表征所述待分析Java进程的类型以及所述待分析Java进程所采用的方法调用类型;
分析模块72,用于确定符合预设规则的所述数据库中存储的所述栈信息为目标栈信息,对所述目标栈信息进行聚类,并输出聚类结果。
如图8所示,本实施例提供的分布式***中Java数据的处理***中,所述分析模块72包括:
第一获取单元81,用于获取所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比;
和/或,第二获取单元82,用于获取所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间;
和/或,第三获取单元83,用于获取所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比。
在上述实施例的基础上,本实施例提供的分布式***中Java数据的处理***,如图9所示,所述后台服务器200还包括:
展示模块73,用于将所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比通过火焰图进行展示。
除此,所述展示模块73还用于:
将所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间通过柱状图进行展示。
和/或,
将所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比通过柱状图进行展示。
上文描述的是服务器的软件功能模块架构,在服务器的硬件结构上,服务器可通过如下方式实现资源分配方案:
图10为本申请实施例提供的服务器的硬件结构框图,参照图10,该服务器可以包括:处理器111,通信接口112,存储器113和通信总线114;
其中处理器111、通信接口112、存储器113通过通信总线114完成相互间的通信;
可选的,通信接口112可以为通信模块的接口,如GSM模块的接口;
处理器111,用于执行程序;
存储器113,用于存放程序;
程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器111可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
存储器113可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,程序可具体用于:
获取待分析Java程序中各线程运行时的栈信息,并保存所述栈信息至所述数据库,所述栈信息表征所述待分析Java进程的类型以及所述待分析Java进程所采用的方法调用类型;
确定符合预设规则的所述数据库中存储的所述栈信息为目标栈信息,对所述目标栈信息进行聚类,并输出聚类结果。
可选的,所述对所述目标栈信息进行聚类包括:
获取所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比;
和/或,获取所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间;
和/或,获取所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比。
可选的,还包括:
将所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比通过火焰图进行展示。
可选的,还包括:
将所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间通过柱状图进行展示。
可选的,还包括:
将所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比通过柱状图进行展示。
该服务器的工作原理请参见上述方法实施例,在此不重复叙述,均能够对多个线程运行时的栈信息进行聚类,进而提高Java性能分析的多样性。
综上所述,本申请提供了一种分布式***中Java数据的处理***及处理方法,该分布式***中Java数据的处理***包括用户浏览器、后台服务器、数据库以及多个性能分析线程,所述后台服务器包括收集运行时栈信息的线程,所述后台服务器还包括:接收模块以及分析模块。其中,接收模块用于获取待分析Java程序中各线程运行时的栈信息,并保存所述栈信息至所述数据库,所述栈信息表征所述待分析Java进程的类型以及所述待分析Java进程所采用的方法调用类型。分析模块用于确定符合预设规则的所述数据库中存储的所述栈信息为目标栈信息,对所述目标栈信息进行聚类,并输出聚类结果。可见,本实施例提供的分布式***中Java数据的处理***,对多个线程运行时的栈信息进行聚类,进而提高Java性能分析的多样性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种分布式***中Java数据的处理***,其特征在于,包括用户浏览器、后台服务器、数据库以及多个性能分析线程,所述后台服务器包括收集运行时的栈信息的线程,所述后台服务器还包括:
接收模块,用于获取待分析Java程序中各线程运行时的栈信息,并保存所述栈信息至所述数据库,所述栈信息表征所述待分析Java进程的类型以及所述待分析Java进程所采用的方法调用类型;
分析模块,用于确定所述数据库中存储的符合预设规则的进程或线程的所述栈信息为目标栈信息,对所述目标栈信息进行聚类,并输出聚类结果,所述确定所述数据库中存储的符合预设规则的进程或线程的所述栈信息为目标栈信息,包括:将运行时间符合预设时间段的线程的栈信息确定为目标栈信息,或,将具有同一Java进程的栈信息确定为目标栈信息,或,将使用同一方法调用的线程的栈信息确定为目标栈信息;
所述对所述目标栈信息进行聚类,用于对分布式java进程进行性能分析。
2.根据权利要求1所述的分布式***中Java数据的处理***,其特征在于,所述分析模块包括:
第一获取单元,用于获取所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比;
和/或,第二获取单元,用于获取所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间;
和/或,第三获取单元,用于获取所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比。
3.根据权利要求1所述的分布式***中Java数据的处理***,其特征在于,所述后台服务器还包括:
展示模块,用于将所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比通过火焰图进行展示。
4.根据权利要求3所述的分布式***中Java数据的处理***,其特征在于,所述展示模块还用于:
将所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间通过柱状图进行展示。
5.根据权利要求3所述的分布式***中Java数据的处理***,其特征在于,所述展示模块还用于:
将所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比通过柱状图进行展示。
6.一种分布式***中Java数据的处理方法,其特征在于,应用于如权利要求1-5中任意一项所述的Java数据的处理***,所述处理方法包括:
获取待分析Java程序中各线程运行时的栈信息,并保存所述栈信息至所述数据库,所述栈信息表征所述待分析Java进程的类型以及所述待分析Java进程所采用的方法调用类型;
确定符合预设规则的所述数据库中存储符合预设规则的进程或线程的所述栈信息为目标栈信息,对所述目标栈信息进行聚类,并输出聚类结果,所述确定所述数据库中存储的符合预设规则的进程或线程的所述栈信息为目标栈信息,包括:将运行时间符合预设时间段的线程的栈信息确定为目标栈信息,或,将具有同一Java进程的栈信息确定为目标栈信息,或,将使用同一方法调用的线程的栈信息确定为目标栈信息;
所述对所述目标栈信息进行聚类,用于对分布式java进程进行性能分析。
7.根据权利要求6所述的分布式***中Java数据的处理方法,其特征在于,所述对所述目标栈信息进行聚类包括:
获取所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比;
和/或,获取所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间;
和/或,获取所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比。
8.根据权利要求7所述的分布式***中Java数据的处理方法,其特征在于,还包括:
将所述目标栈信息中的全部所述Java进程下,每个所述方法调用的时间占比通过火焰图进行展示。
9.根据权利要求7所述的分布式***中Java数据的处理方法,其特征在于,还包括:
将所述目标栈信息中的全部所述方法调用下,每个所述Java进程所消耗的时间通过柱状图进行展示。
10.根据权利要求7所述的分布式***中Java数据的处理方法,其特征在于,还包括:
将所述目标栈信息中每个所述Java进程下,每个所述方法调用的时间占比通过柱状图进行展示。
CN201910110988.XA 2019-02-12 2019-02-12 一种分布式***中Java数据的处理***及方法 Active CN109886327B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910110988.XA CN109886327B (zh) 2019-02-12 2019-02-12 一种分布式***中Java数据的处理***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910110988.XA CN109886327B (zh) 2019-02-12 2019-02-12 一种分布式***中Java数据的处理***及方法

Publications (2)

Publication Number Publication Date
CN109886327A CN109886327A (zh) 2019-06-14
CN109886327B true CN109886327B (zh) 2021-11-19

Family

ID=66927946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910110988.XA Active CN109886327B (zh) 2019-02-12 2019-02-12 一种分布式***中Java数据的处理***及方法

Country Status (1)

Country Link
CN (1) CN109886327B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434402A (zh) * 2021-06-24 2021-09-24 中国工商银行股份有限公司 一种微服务应用的性能剖析方法、装置及设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660427A (zh) * 2013-11-18 2015-05-27 深圳市腾讯计算机***有限公司 日志实时统计方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617287A (zh) * 2013-12-12 2014-03-05 用友软件股份有限公司 一种分布式环境下的日志管理方法和装置
CN104036025A (zh) * 2014-06-27 2014-09-10 蓝盾信息安全技术有限公司 一种基于分布式的海量日志采集***
CN104503891B (zh) * 2014-12-10 2018-10-02 北京京东尚科信息技术有限公司 对jvm线程进行在线监控的方法和装置
CN106330990B (zh) * 2015-06-17 2020-02-11 阿里巴巴集团控股有限公司 B/s结构的性能监控分析***和方法
CN105718351B (zh) * 2016-01-08 2018-02-09 北京汇商融通信息技术有限公司 一种面向Hadoop集群的分布式监控管理***
CN108628677B (zh) * 2017-03-20 2022-12-02 北京京东尚科信息技术有限公司 分布式任务处理***、方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660427A (zh) * 2013-11-18 2015-05-27 深圳市腾讯计算机***有限公司 日志实时统计方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"第十三讲、jmeter分布式性能测试;七色米;《https://blog.csdn.net/aisemi/article/details/55503844》;20170217;第1-3页 *

Also Published As

Publication number Publication date
CN109886327A (zh) 2019-06-14

Similar Documents

Publication Publication Date Title
KR101600129B1 (ko) 애플리케이션 효율 엔진
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
CN111290916A (zh) 大数据监控方法、装置、设备及计算机可读存储介质
CN110955578A (zh) 基于宿主机的日志收集方法、装置、计算机设备及存储介质
CN109445768B (zh) 数据库脚本生成方法、装置、计算机设备及存储介质
CN111966597B (zh) 测试数据生成方法及装置
CN111045879A (zh) 压力测试报告的生成方法、装置及存储介质
CN111988429A (zh) 算法调度方法以及***
CN111431741A (zh) 服务上线方法、***、计算机设备及存储介质
KR20160096313A (ko) 빅데이터를 분석하는 분석 애플리케이션을 모니터링하는 장치 및 방법
CN112181749A (zh) 硬件测试方法、装置、电子设备和存储介质
CN110222046B (zh) 列表数据的处理方法、装置、服务器和存储介质
US9442818B1 (en) System and method for dynamic data collection
CN109886327B (zh) 一种分布式***中Java数据的处理***及方法
CN111124791A (zh) 一种***测试方法及装置
CN110543426A (zh) 一种软件性能风险检测方法及装置
CN112433908B (zh) 确定检测服务器的间隔时间的方法、***、设备及介质
CN111930505B (zh) 大数据平台的数据资源管理方法及***、服务器及介质
CN109992614B (zh) 数据获取方法、装置和服务器
CN113326237A (zh) 日志数据的加工方法、装置、终端设备以及存储介质
CN113448985A (zh) 一种api接口生成方法、调用方法、装置及电子设备
CN114168439A (zh) 一种集群内服务的压测控制方法、装置、存储介质及终端
CN111221651B (zh) 负载均衡配置方法、装置、服务器及可读存储介质
CN110297639B (zh) 用于检测代码的方法和装置
CN112015633B (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
GR01 Patent grant
GR01 Patent grant