一种客户端的内存分析方法、装置及系统制造方法及图纸

技术编号:15704789 阅读:90 留言:0更新日期:2017-06-26 09:40
本发明专利技术揭示了一种客户端的内存分析方法、装置及系统,客户端的内存分析方法包括如下步骤:接收由多个待分析客户端发送的界面标识,以及与界面标识对应的内存快照文件;计算每个界面标识的总数量;获取总数量满足设定条件的界面标识,得到待分析界面标识;获取待分析界面标识对应的待分析界面;解析待分析界面对应的内存快照文件,获得内存信息。本发明专利技术能够获得用户实际使用客户端过程中产生的内存问题以及对应的界面,测试人员或者开发人员可以根据该内存问题,对客户端作出相应的改进。

【技术实现步骤摘要】
一种客户端的内存分析方法、装置及系统
本公开涉及互联网
,特别涉及一种客户端的内存分析方法、装置及系统。
技术介绍
目前,客户端的内存分析方法主要包括如下步骤。首先编写测试用例,即测试人员需要遵守的测试操作流程。例如,测试用例为:登陆客户端—进入测试界面—在测试界面进行操作—获取客户端的内存快照文件—退出客户端。接着执行测试用例。以前面的例子为例,测试人员首先登陆客户端,接着进入测试界面,接着在测试界面进行持续操作,然后获取客户端的内存快照文件,最后退出客户端。如果客户端的被占用内存不超过设定内存阈值,则得出对客户端的上述测试界面进行操作不会出现内存问题。并对内存快照文件进行解析,获得客户端运行时的相关内存信息。然而,当用户在操作客户端时,往往容易出现客户端的被占用内存超过阈值的情况。经过研究分析发现,用户实际操作客户端的方式与测试人员的测试方式存在很大差别。测试人员进入客户端的一个界面,对界面完成操作后,则会退出该界面,并关闭客户端。此时,客户端的内存中主要是该界面的内存对象。这样,如果测试中没有发现该界面下,被占用内存会达到内存阈值,则得出该界面测试通过的结论。而用户操作客户端具有随意性,客户可能在客户端的多个界面之间来回切换,例如,客户端处于第一界面,然后被用户切换到第二界面,因此,客户端处于第二界面下,内存中可能依然存有大量的第一界面的内存对象,第一界面的内存对象和第二界面的内存对象的总量,可能已经超过了内存阈值,从而导致客户端的内存出现问题。
技术实现思路
为了解决相关技术中存在的问题:现有测试方法难以发现用户在使用客户端时,被占用内存超过内存阈值,本专利技术提供了一种客户端的内存分析方法、装置及系统。一种客户端的内存分析方法,包括如下步骤:接收由多个待分析客户端发送的界面标识,以及与所述界面标识对应的内存快照文件;其中,所述界面标识是指,所述待分析客户端的被占用内存达到内存阈值时,所述待分析客户端所在界面的界面标识;所述内存快照文件是指,所述待分析客户端的被占用内存达到内存阈值时,所述待分析客户端的内存快照文件;计算每个界面标识的总数量;获取总数量满足设定条件的界面标识,得到待分析界面标识;获取所述待分析界面标识对应的待分析界面;解析所述待分析界面对应的内存快照文件,获得内存信息。本专利技术还提供了一种客户端的内存分析方法,包括如下步骤:待分析客户端判断待分析客户端的被占用内存是否达到内存阈值,若是,则获取待分析客户端所在界面的界面标识,并获取所述待分析客户端的内存信息;所述待分析客户端将所述待分析客户端的内存信息生成内存快照文件;所述待分析客户端将所述界面标识和内存快照文件发送给服务器;所述服务器接收由多个待分析客户端发送的界面标识,以及与所述界面标识对应的内存快照文件;所述服务器计算每个界面标识的总数量;所述服务器获取总数量满足设定条件的界面标识,得到待分析界面标识;所述服务器获取所述待分析界面标识对应的待分析界面;所述服务器解析所述待分析界面对应的内存快照文件,获得内存信息。本专利技术还提供了一种客户端的内存分析装置,包括:服务器接收模块,被配置为执行:接收由多个待分析客户端发送的界面标识,以及与所述界面标识对应的内存快照文件;其中,所述界面标识是指,所述待分析客户端的被占用内存达到内存阈值时,所述待分析客户端所在界面的标识;所述内存快照文件是指,所述待分析客户端的被占用内存达到内存阈值时,所述待分析客户端的内存快照文件;服务器计算模块,被配置为执行:计算每个界面标识的总数量;服务器第一获取模块,被配置为执行:获取总数量满足设定条件的界面标识,得到待分析界面标识;服务器第二获取模块,被配置为执行:获取所述待分析界面标识对应的待分析界面;服务器解析模块,被配置为执行:解析所述待分析界面对应的内存快照文件,获得内存信息。本专利技术还提供了一种客户端的内存分析系统,包括客户端和服务器,所述客户端包括:客户端第一获取模块,被配置为执行:判断待分析客户端的内存是否被占用达到内存阈值,若是,则获取待分析客户端所在界面的界面标识,并获取所述待分析客户端的内存信息;客户端第一生成模块,被配置为执行:将所述待分析客户端的内存信息生成内存快照文件;客户端发送模块,被配置为执行:将所述界面标识和内存快照文件发送给服务器;所述服务器包括:服务器接收模块,被配置为执行:接收由多个待分析客户端发送的界面标识,以及与所述界面标识对应的内存快照文件;服务器获取模块,被配置为执行:根据所述界面标识,获取被占用内存达到内存阈值时的界面;服务器解析模块,被配置为执行:解析所述内存快照文件获得内存信息。本公开的实施例提供的技术方案可以包括以下有益效果:当客户端的被占用内存达到内存阈值,客户端向服务器上报待分析界面标识和内存快照文件,服务器通过获得界面标识,以及与待分析界面标识对应的内存快照文件,从而可以获取对应待分析界面下客户端的内存信息。与传统的对客户端直接进行测试相比,本实施例能够获得用户实际使用客户端过程中产生的内存问题以及对应的界面,例如用户从客户端的第一界面切换到第二界面,导致客户端的被占用内存达到内存阈值的问题,这样,测试人员或者开发人员可以根据该内存问题,对客户端作出相应的改进。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并于说明书一起用于解释本专利技术的原理。图1是本专利技术一种实施例的客户端的内存分析方法的运行的系统构架框图;图2本专利技术一种实施例的运行于客户端一侧的客户端的内存分析方法的流程图;图3是本专利技术一种实施例的待分析客户端与服务器之间的交互图;图4是本专利技术一种实施例的将内存对象生成内存快照文件的流程图;图5是本专利技术一种实施例的内存对象的示意图;图6是本专利技术一种实施例的内存对象引用树的示意图;图7是本专利技术一种实施例的内存对象的示意图;图8是本专利技术另一种实施例的对应于客户端一侧的客户端的内存分析方法的流程图;图9是现有技术的一种将字节数组内存对象生成内存快照文件的流程图;图10是本专利技术一种实施例的对应于服务器一侧的客户端的内存分析方法的流程图;图11是本专利技术另一种实施例的对应于服务器一侧的客户端的内存分析方法的流程图;图12是本专利技术一种实施例的客户端的内存分析系统的框图;图13是本专利技术一种实施例的对应于服务器一侧的客户端的内存分析装置的框图。具体实施方式这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。如图1所示,是一种客户端的内存分析方法运行的系统构架,包括服务器和多个待分析客户端。待分析客户端是指,需要进行内存分析的客户端。待分析客户端可以是所有客户端中的一部分,这部分客户端被服务器抽样选中而成为待分析客户端,之后则开始执行本实施例的客户端的内存分析方法;待分析客户端也可以是所有的客户端。服务器用于根据客户端的内存分析方法,分析待分析客户端的内存问题,具体本文档来自技高网...
一种客户端的内存分析方法、装置及系统

【技术保护点】
一种客户端的内存分析方法,其特征是,包括如下步骤:接收由多个待分析客户端发送的界面标识,以及与所述界面标识对应的内存快照文件;其中,所述界面标识是指,所述待分析客户端的被占用内存达到内存阈值时,所述待分析客户端所在界面的界面标识;所述内存快照文件是指,所述待分析客户端的被占用内存达到内存阈值时,所述待分析客户端的内存快照文件;计算每个界面标识的总数量;获取总数量满足设定条件的界面标识,得到待分析界面标识;获取所述待分析界面标识对应的待分析界面;解析所述待分析界面对应的内存快照文件,获得内存信息。

【技术特征摘要】
1.一种客户端的内存分析方法,其特征是,包括如下步骤:接收由多个待分析客户端发送的界面标识,以及与所述界面标识对应的内存快照文件;其中,所述界面标识是指,所述待分析客户端的被占用内存达到内存阈值时,所述待分析客户端所在界面的界面标识;所述内存快照文件是指,所述待分析客户端的被占用内存达到内存阈值时,所述待分析客户端的内存快照文件;计算每个界面标识的总数量;获取总数量满足设定条件的界面标识,得到待分析界面标识;获取所述待分析界面标识对应的待分析界面;解析所述待分析界面对应的内存快照文件,获得内存信息。2.如权利要求1所述的客户端的内存分析方法,其特征是,所述获取总数量满足设定条件的界面标识,得到待分析界面标识的步骤为:获取所述总数量在所有待分析客户端总量中所占比重;获取所述比重满足设定比重条件的待分析界面标识。3.如权利要求2所述的客户端的内存分析方法,其特征是,所述内存信息包括内存对象;在解析所述待分析界面对应的内存快照文件,获得内存信息之后,所述方法还包括如下步骤:显示超过设定数量的内存对象,或者显示超过设定大小的内存对象。4.如权利要求2所述的客户端的内存分析方法,其特征是,所述内存信息包括内存对象和引用树;在解析所述待分析界面对应的内存快照文件,获得内存信息之后,所述方法还包括如下步骤:根据所述内存对象引用树,获取所述内存对象所属待分析界面。5.如权利要求2所述的客户端的内存分析方法,其特征是,所述内存快照文件包含字节数组内存对象,所述字节数组内存对象的内容为所述字节数组内存对象的大小;在解析所述待分析界面对应的内存快照文件,获得内存信息的步骤之后,所述方法还包括如下步骤:判断所述内存信息是否为字节数组内存对象,若是,则获取所述字节数组内存对象的内容,生成所述字节数组内存对象的大小。6.如权利要求5所述的客户端的内存分析方法,其特征是,在所述内存快照文件中,所述字节数组内存对象的内容为验证码和所述字节数组内存对象的大小;所述获取所述字节数组内存对象的内容,生成所述字节数组内存对象的大小的步骤为:获取所述字节数组内存对象的内容,判断所述字节数组内存对象的内容是否包含验证码,若是,则将所述字节数组内存对象的内容去除所述验证码后,生成所述字节数组内存对象的大小。7.一种客户端的内存分析方法,其特征是,包括如下步骤:待分析客户端判断待分析客户端的被占用内存是否达到内存阈值,若是,则获取待分析客户端所在界面的界面标识,并获取所述待分析客户端的内存信息;所述待分析客户端将所述待分析客户端的内存信息生成内存快照文件;所述待分析客户端将所述界面标识和内存快照文件发送给服务器;所述服务器接收由多个待分析客户端发送的界面标识,以及与所述界面标识对应的内存快照文件;所述服务器计算每个界面标识的总数量;所述服务器获取总数量满足设定条件的界面标识,得到待分析界面标识;所述服务器获取所述待分析界面标识对应的待分析界面;所述服务器解析所述待分析界面对应的内存快照文件,获得内存信息。8.如权利要求7所述的客户端的内存分析方法,其特征是,在获取所述待分析客户端的内存信息的步骤之后,且在所述待分析客户端将所述待分析客户端的内存信息生成内存快照文件的步骤之前,所述方法还包括如下步骤:所述客户端判断所述内存信息是否为字节数组内存对象,若是,则将所述字节数组内存对象的大小生成所述字节数组内存对象的新内容。9.如权利要求8所述的客户端的内存分析方法,其特征是,将所述字节数组内存对象的大小生成所述字节数组内存对象的新内容的步骤为:将验证码和所述字节数组内存对象的大小生成所述字节数组内存对象的新内容。10.一种客户端的内存分析装置,其特征是,包括:服务器接收模块,被配置为执行:接收由多个待分析...

【专利技术属性】
技术研发人员:付云雷丁铎黄闻欣
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1