一种基于聚类分析的应用性能瓶颈检测与诊断方法技术

技术编号:19009060 阅读:80 留言:0更新日期:2018-09-22 08:56
本发明专利技术涉及一种基于聚类分析的应用性能瓶颈检测与诊断方法。所述方法利用移动端真实环境下的数据收集与实时展示模块、离线客户端分析与展示模块和基于后台的线上统计分析模块三部分实现。本发明专利技术可进行方便、快捷、准确的应用性能分析及问题诊断,降低不必要的开发成本;节省优化阶段的时间及成本,进一步的将应用的开发、测试及优化分析等阶段进行细化,从而可以将不必要的工作分配到合适的人员,提高应用的开发效率,提高应用上线前的稳定性;同时伴随数据规模的不断增大,基于这些数据信息可以进行更多的数据挖掘及分析,从更宏观的角度来分析应用的优劣程度及优先级程度、市场趋势等等。

An application performance bottleneck detection and diagnosis method based on clustering analysis

The invention relates to an application performance bottleneck detection and diagnosis method based on clustering analysis. The method is implemented in three parts: data collection and real-time display module, off-line client analysis and display module, and on-line statistical analysis module based on background. The invention can carry out convenient, fast and accurate application performance analysis and problem diagnosis, reduce unnecessary development cost, save time and cost in optimization stage, further refine application development, testing and optimization analysis stages, so that unnecessary work can be allocated to appropriate personnel, and improve At the same time, with the increasing size of the data, more data mining and analysis can be carried out based on these data information, and the advantages and disadvantages of the application and priority level, market trends and so on can be analyzed from a more macroscopic perspective.

【技术实现步骤摘要】
一种基于聚类分析的应用性能瓶颈检测与诊断方法
本专利技术涉及一种基于聚类分析的应用性能瓶颈检测与诊断方法。
技术介绍
当前环境下,伴随着Unity3D引擎的日益火爆,开发的门槛也再不断降低,涌入了大量各种层次的开发者,以Unity3D引擎为基础开发的应用、软件、游戏的数量与日俱增,也导致开发者开发出的应用可能存在各种各样的效率问题,从而导致产品不能够很好的适应市场需求。针对开发者的这种需求,通常的方法可以借助Mac的xcode进行辅助分析、基于Unity内置Profiler的实时在线逐帧的人工数据收集及分析,但是不可避免的存在提高了非必要额外开发成本(绝大多数开发平台仍然是windows)的可能、难发现潜在问题、瓶颈难定位、人工分析效率低、解决方案针对的痛点单一等问题及不足。因此,针对如上所述的问题,本文提出了一整套支持离线、真机实时环境、可跨平台的数据收集方案以及高效率的应用性能检测与诊断定位方案。目前已知的具有类似全面的性能分析方案的公司有一家——腾讯,目前腾讯开发有一套UPA性能分析工具,在WeTest平台下作为一个分支功能。UPA即UnityPerformanceAnalysis,是由UnitySupport团队和腾讯WeTest性能团队共同研发打造的针对Unity引擎定制的应用性能分析工具,是其开发的原Cube工具的“升级版”。如下表所示为两种性能分析方案的综合对比:综上对比分析,可以看到腾讯更专注于大而广的通用平台,因此其工具的使用对网络、后台的依赖性比较高,对开发者用户也并不足够友好,即使最基本的功能版本也并不对用户免费。
技术实现思路
本专利技术的目的是提供一整套的应用性能诊断与瓶颈定位解决方案,主要对应三方面的技术方案:1、非Root模式下真实移动端环境应用性能的数据收集、存储及展示方案;2、支持离线存储分析及展示的数据分析展示技术方案;3、支持真人真机专业测试分析的后台解决方案。为了实现该目的,本专利技术提供了一种基于聚类分析的应用性能瓶颈检测与诊断方法,所述方法利用移动端真实环境下的数据收集与实时展示模块、离线客户端分析与展示模块和基于后台的线上统计分析模块三部分实现。数据收集与实时展示模块,该模块提供了一整套的实时真实环境下的数据收集及展示方案,可以在真实环境运行应用的同时,收集运行时的各项性能数据指标信息,并即时、方便的展示给用户结果:通过在应用发包时,集成封装的数据收集插件,即可在应用安装运行时,根据用户的需求对各类不同数据进行收集、展示。该模块的实施步骤如下:第一步,在检测工具界面选定要检测的各个功能;第二步,根据选择的功能并行的开启各个功能数据Track模块,包括:截屏模块、Mono模块、资源模块、硬件模块等;第三步,每个数据Track模块都会自动调用Unity内相应功能的API,实时获取要检测的数据信息;第四步,如果启用了数据实时显示功能,就生成一个二维缓冲池,将检测数据和检测帧数对应的加入到缓冲池中,并调用界面刷新消息,使用缓冲池中的数据实时更新屏幕上的数据显示;第五步,如果启用了保存在本地功能,各个功能模块会将当前数据、当前数据与当前帧数的对应关系、当前数据的类型、设备信息、系统信息等运行时数据进行序列化并压缩存档到本地文件里保存起来,同时上传到客户端开发环境,用于重复、对比分析。离线客户端分析与展示模块,该模块提供了一整套的离线数据分析工具,可以对真实环境中收集到的应用运行时数据进行离线分析,而不必拘泥于固定的开发调试环境,从而简化了研发人员的工作,也便于发现隐藏问题及瓶颈定位:通过将第一部分收集到的应用运行时数据上传到配置有数据分析工具的任意开发环境下,即可根据工具提供的用户操作界面进行按需分析、查看性能分析结果。该模块的具体实施步骤如下:第一步,初始化用户操作界面。通过初始化可视化的用户基础操作界面,响应基于用户某需求的点选操作,弹出对应对话框界面;用户基础操作界面的实现基于Unity3D引擎提供的可编程扩展接口,继承EditorWindow基类、实现OnGUI方法而成;第二步,资源管理器实例化资源。界面初始化完成后,由资源文件管理系统进行文件、数据的管理,通过加载并解析用户选择的某次测试结果,再将对应资源目录下的数据文件使用StrangeCRC的hash算法进行资源校验,校验无误后使用FastZip算法进行解压缩,最终以反序列化的方式实例化、解析到内存中形成各类基本类型的对象模型的数据集;第三步,统计分析与分类汇总。对实例化到内存的各类对象模型的数据集进行统计分析与分类汇总,统计分析的方法包括均值、极值、正态分布、趋势分析等算法,从而将对象模型数据集进行性能指标等重要数据的分类及提取;第四步,以图表形式展示分析结果。将分析得到的结论最终以可视化图表的形式直接反馈显示到用户界面呈现给用户,其中可视化图表包括柱状图、折线图、雷达图及表格等几种常见形式。基于后台的线上统计分析模块,提供了基于无监督学习的自动化分析及诊断方案的一整套后台,减少研发人员的参与及工作,提高分析与定位效率:通过后台登录并将开发好的应用包提交到后台,即会有专业人员对该应用进行细致的测试,从而在黑盒模式下对应用进行细致的数据收集,最终会自动将收集到的数据性能指标等信息,与已有各类应用的性能数据信息进行综合分析,并给出详尽的分析结论及报告。以此可以让开发人员将更多精力放到解决定位到的问题上,而不是放在定位问题的过程上,将开发人员从冗余繁琐细碎的工作中解放出来,提高工作及开发效率。本专利技术具有的优点:针对绝大部分的应用开发者,不再需要特殊的Mac环境,即可进行方便、快捷、准确的应用性能分析及问题诊断,降低不必要的开发成本;不再需要使用内置的Profiler工具去人工逐帧的查看、分析各项指标,降低应用的优化时间,从而可以更早、更及时的投入市场;不在需要根据各种不同的环境去寻找、更换不同的分析诊断工具,节省优化阶段的时间及成本。进一步的将应用的开发、测试及优化分析等阶段进行细化,从而可以将不必要的工作分配到合适的人员,提高应用的开发效率,提高应用上线前的稳定性;同时伴随数据规模的不断增大,基于这些数据信息可以进行更多的数据挖掘及分析,从更宏观的角度来分析应用的优劣程度及优先级程度、市场趋势等等。附图说明:下面结合附图对本专利技术进一步说明:图1:本专利技术的整套方案功能模块图图2:本专利技术的离线工具模块结构设计图图3:本专利技术的离线工具实施流程图图4:本专利技术的离线工具具体实施流程图图5:本专利技术的基于真实环境的类结构设计图具体实施方式:下面结合附图及具体实施方式对本专利技术进行详细描述:如图1至图5所示,一种基于聚类分析的应用性能瓶颈检测与诊断方法,所述方法利用移动端真实环境下的数据收集与实时展示模块、离线客户端分析与展示模块和基于后台的线上统计分析模块三部分实现。数据收集与实时展示模块,该模块提供了一整套的实时真实环境下的数据收集及展示方案,可以在真实环境运行应用的同时,收集运行时的各项性能数据指标信息,并即时、方便的展示给用户结果:通过在应用发包时,集成封装的数据收集插件,即可在应用安装运行时,根据用户的需求对各类不同数据进行收集、展示。该模块的实施步骤如下:第一步,在检测工具界面选定要检测的各个功能;第二步,根据选本文档来自技高网...
一种基于聚类分析的应用性能瓶颈检测与诊断方法

【技术保护点】
1.一种基于聚类分析的应用性能瓶颈检测与诊断方法,其特征在于:所述方法利用移动端真实环境下的数据收集与实时展示模块、离线客户端分析与展示模块和基于后台的线上统计分析模块三部分实现,所述数据收集与实时展示模块,提供了一整套的实时真实环境下的数据收集及展示方案,在真实环境运行应用的同时,收集运行时的各项性能数据指标信息,并展示给用户结果,通过在应用发包时,集成封装的数据收集插件,在应用安装运行时,根据用户的需求对各类不同数据进行收集、展示;所述离线客户端分析与展示模块,提供了一整套的离线数据分析工具,对真实环境中收集到的应用运行时数据进行离线分析,通过将数据收集与实时展示模块收集到的应用运行时数据上传到配置有数据分析工具的任意开发环境下,根据工具提供的用户操作界面进行按需分析、查看性能分析结果;所述基于后台的线上统计分析模块,提供了基于无监督学习的自动化分析及诊断方案的一整套后台,通过后台登录并将开发好的应用包提交到后台,对该应用进行细致的测试,从而在黑盒模式下对应用进行数据收集,最终将收集到的数据性能指标信息,与已有各类应用的性能数据信息进行综合分析,并给出详尽的分析结论及报告。

【技术特征摘要】
1.一种基于聚类分析的应用性能瓶颈检测与诊断方法,其特征在于:所述方法利用移动端真实环境下的数据收集与实时展示模块、离线客户端分析与展示模块和基于后台的线上统计分析模块三部分实现,所述数据收集与实时展示模块,提供了一整套的实时真实环境下的数据收集及展示方案,在真实环境运行应用的同时,收集运行时的各项性能数据指标信息,并展示给用户结果,通过在应用发包时,集成封装的数据收集插件,在应用安装运行时,根据用户的需求对各类不同数据进行收集、展示;所述离线客户端分析与展示模块,提供了一整套的离线数据分析工具,对真实环境中收集到的应用运行时数据进行离线分析,通过将数据收集与实时展示模块收集到的应用运行时数据上传到配置有数据分析工具的任意开发环境下,根据工具提供的用户操作界面进行按需分析、查看性能分析结果;所述基于后台的线上统计分析模块,提供了基于无监督学习的自动化分析及诊断方案的一整套后台,通过后台登录并将开发好的应用包提交到后台,对该应用进行细致的测试,从而在黑盒模式下对应用进行数据收集,最终将收集到的数据性能指标信息,与已有各类应用的性能数据信息进行综合分析,并给出详尽的分析结论及报告。2.根据权利要求1所述的一种基于聚类分析的应用性能瓶颈检测与诊断方法,其特征在于:所述数据收集与实时展示模块的实施步骤如下:第一步,在检测工具界面选定要检测的各个功能;第二步,根据选择的功能并行的开启各个功能数据Track模块,包括:截屏模块、Mono模块、资源模块、硬件模块;第三步,每个数据Track模块都会自动调用Unity内相应功能的API,实时获取要检测的数据信息;第四步,如果启用了数据实时显示功能...

【专利技术属性】
技术研发人员:姚尔頔吴俊
申请(专利权)人:苏州龙游山海网络科技有限公司
类型:发明
国别省市:江苏,32

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

1