移动终端应用程序优化效果的自动检测方法和系统转让专利

申请号 : CN201310048126.1

文献号 : CN103176900B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 洪珂陈明师吕士表曾凯

申请人 : 网宿科技股份有限公司

摘要 :

本发明公开了一种移动终端应用程序优化效果的自动检测方法和系统,可自动化模拟请求,量化网页加载整体优化效果和每个请求的优化效果。其技术方案为:方法包括:移动终端应用程序自动访问web页面,获取优化前后的请求和响应包;通过过滤空包获取优化前后的请求及响应非空包;自动分析移动终端应用程序的web优化前后的整体效果;自动分析移动终端应用程序的各URL连接的优化前后的效果。

权利要求 :

1.一种移动终端应用程序优化效果的自动检测方法,包括:移动终端应用程序自动访问web页面,获取优化前后的URL请求和响应包;

通过过滤空包获取优化前后的响应非空包所对应的URL请求及响应非空包;

自动分析移动终端应用程序的web优化前后的整体效果,其中本步骤进一步包括:在优化前目录和优化后目录中选择相应的文件,分析优化前后的加载时间与加载时间优化百分比、响应包字节数与字节数压缩百分比、请求个数减少量;以及其中在分析优化前后的整体效果的步骤中,还包括在分析前计算所有测试次数的平均值及其方差,根据平均值和方差使用无效数据过滤规则,对无效测试数据进行自动过滤处理,其中无效数据过滤规则是指若某次测试求得的平均值小于 则视为异常数据,p值为经验数据,variance表示为:variance=sum[(a1-avg)^2+(a2-avg)^2+…(an-avg)^2],a1,a2,…,an为每次测量值;以及自动分析移动终端应用程序的各URL连接的优化前后的效果,其中本步骤进一步包括:将抓包获取的文件上传到包分析服务器;

在上传成功后返回相应的哈希映射值,并分别保留在优化前目录和优化后目录中;以及通过比较优化前目录和优化后目录中的哈希映射值判断是否属于优化前后的同一个URL,并计算URL连接的优化前后的效果所提升的百分比。

2.根据权利要求1所述的移动终端应用程序优化效果的自动检测方法,其特征在于,移动终端应用程序自动访问web页面的步骤进一步包括:获取移动终端应用程序的ID号;

移动终端应用程序利用获取到的ID号访问web页面;

在后台启动抓包进程;

移动终端应用程序自动访问web并加载相应的页面;

移动终端应用程序检测到页面加载完成后停止抓包进程并将抓取到的响应包进行过滤分析。

3.根据权利要求1所述的移动终端应用程序优化效果的自动检测方法,其特征在于,通过过滤空包获取优化前后的请求及响应非空包的步骤进一步包括:计算抓包获取的包含URL请求和响应包的文件的大小,对空文件进行过滤,以获得响应非空包;

记录响应非空包的名称和移动终端应用程序之间的映射关系,并分开存储在优化前目录和优化后目录中。

4.一种移动终端应用程序优化效果的自动检测系统,包括:web自动访问装置,移动终端应用程序自动访问web页面,获取优化前后的URL请求和响应包;

空包过滤装置,连接web自动访问装置,通过过滤空包获取优化前后的响应非空包所对应的URL请求及响应非空包;

优化前后整体效果自动分析装置,连接空包过滤装置,自动分析移动终端应用程序的web优化前后的整体效果,其中优化前后整体效果自动分析装置进一步包括:无效测试数据过滤模块,计算所有测试次数的平均值及其方差,根据平均值和方差使用无效数据过滤规则,对无效测试数据进行自动过滤处理,其中无效数据过滤规则是指若某次测试求得的平均值小于 则视为异常数据,p值为经验数据,variance表示为variance=sum[(a1-avg)^2+(a2-avg)^2+…(an-avg)^2],a1,a2,…,an为每次测量值;以及整体效果分析模块,在优化前目录和优化后目录中选择相应的文件,分析优化前后的加载时间与优化百分比、响应包字节数与压缩百分比、请求个数减少量;以及URL连接优化前后效果自动分析装置,连接优化前后整体效果自动分析装置,自动分析移动终端应用程序的各URL连接的优化前后的效果,其中URL连接优化前后效果自动分析装置进一步包括:抓包文件上传模块,将抓包获取的文件上传到包分析服务器;

哈希映射存储模块,在上传成功后返回相应的哈希映射值,并分别保留在优化前目录和优化后目录中;以及URL连接优化计算模块,通过比较优化前目录和优化后目录中的哈希映射值判断是否属于优化前后的同一个URL,并计算URL连接的优化前后的效果所提升的百分比。

5.根据权利要求4所述的移动终端应用程序优化效果的自动检测系统,其特征在于,web自动访问装置进一步包括:应用程序ID获取模块,获取移动终端应用程序的ID号;

页面访问模块,移动终端应用程序利用获取到的ID号访问web页面;

抓包模块,在后台启动抓包进程;

页面加载模块,移动终端应用程序自动访问web并加载相应的页面;

页面加载状态检测模块,移动终端应用程序检测到页面加载完成后停止抓包进程并将抓取到的响应包进行过滤分析。

6.根据权利要求4所述的移动终端应用程序优化效果的自动检测系统,其特征在于,空包过滤装置包括:包文件计算模块,计算抓包获取的包含URL请求和响应包的文件的大小,对空文件进行过滤,以获得响应非空包;

映射存储模块,记录响应非空包的名称和移动终端应用程序之间的映射关系,并分开存储在优化前目录和优化后目录中。

说明书 :

移动终端应用程序优化效果的自动检测方法和系统

技术领域

[0001] 本发明涉及移动终端应用程序(移动APP)优化效果的检测分析技术,尤其涉及自动化完成优化效果的检测分析的方法和系统。

背景技术

[0002] 目前,市面上有出现一些移动终端加速应用程序,如360流量监控、瓦力流量等都是一些独立的应用程序,无法嵌入到其他客户应用程序(如糯米网客户端程序),一方面糯米网客户端开发人员无法第一时间获取其网页优化前后量化效果;另一方,若开发人员要获取该优化效果,则必须通过抓包来获取并分析包文件,其效率低下,从手动访问到抓包,到最后人工分析包,快则需1天的分析时间,慢则需要2-3天时间。
[0003] 图1是目前一些移动应用访问web页面的优化技术的流程。图1所示流程的核心是web缓存,是通过web缓存和压缩技术来实现。在初次访问后,通过缓存web响应,在再次访问时直接回源给客户端,节省客户端再次请求源站的时间。其中在初次访问时对响应结果为图片等特殊情况进行特殊处理,可以节省流量,加快传输速度。
[0004] 这种传统算法虽然有开发简易、有相应的开放源码,模块清晰、易于源码维护,移动用户可以宏观的体验到web优化效果等优点,然而也存在如下的缺点:(1)优化效果无法量化:移动APP的用户无法获取web优化的量化效果,不利于移动应用开发人员提高性能;(2)无法自动化获取优化效果:为分析优化效果,必需手动抓包,并且需要手动分析,效率低下。

发明内容

[0005] 本发明的目的在于解决上述问题,提供了一种移动终端应用程序优化效果的自动检测方法和系统,可自动化模拟请求,量化网页加载整体优化效果和每个请求的优化效果。
[0006] 本发明的技术方案为:本发明揭示了一种移动终端应用程序优化效果的自动检测方法,包括:
[0007] 移动终端应用程序自动访问web页面,获取优化前后的请求和响应包;
[0008] 通过过滤空包获取优化前后的请求及响应非空包;
[0009] 自动分析移动终端应用程序的web优化前后的整体效果;
[0010] 自动分析移动终端应用程序的各URL连接的优化前后的效果。
[0011] 根据本发明的移动终端应用程序优化效果的自动检测方法的一实施例,移动终端应用程序自动访问web页面的步骤进一步包括:
[0012] 获取移动终端应用程序的ID号;
[0013] 移动终端应用程序利用获取到的ID号访问web页面;
[0014] 在后台启动抓包进程;
[0015] 移动终端应用程序自动访问web并加载相应的页面;
[0016] 移动终端应用程序检测到页面加载完成后停止抓包进程并将抓取到的包进行过滤分析。
[0017] 根据本发明的移动终端应用程序优化效果的自动检测方法的一实施例,通过过滤空包获取优化前后的请求及响应非空包的步骤进一步包括:
[0018] 计算抓包获取的文件大小,对空文件进行过滤,以获得非空包;
[0019] 记录非空包的名称和移动终端应用程序之间的映射关系,并分开存储在优化前目录和优化后目录中。
[0020] 根据本发明的移动终端应用程序优化效果的自动检测方法的一实施例,自动分析移动终端应用程序的web优化前后的整体效果的步骤进一步包括:
[0021] 在优化前目录和优化后目录中选择相应的文件,分析优化前后的加载时间与优化百分比、响应包字节数与压缩百分比、请求个数减少量;
[0022] 其中在分析优化前后的整体效果的步骤中,还包括在分析前计算所有测试次数的平均值及其方差,根据平均值和方差使用无效数据过滤规则,对无效测试数据进行自动过滤处理。
[0023] 根据本发明的移动终端应用程序优化效果的自动检测方法的一实施例,自动分析移动终端应用程序的各URL连接的优化前后的效果的步骤进一步包括:
[0024] 将抓包获取的文件上传到包分析服务器;
[0025] 在上传成功后返回相应的哈希映射值,并分别保留在优化前目录和优化后目录中;
[0026] 通过比较哈希映射值判断是否属于优化前后的同一个URL,并计算提升的百分比。
[0027] 本发明还揭示了一种移动终端应用程序优化效果的自动检测系统,包括:
[0028] web自动访问装置,移动终端应用程序自动访问web页面,获取优化前后的请求和响应包;
[0029] 空包过滤装置,连接web自动访问装置,通过过滤空包获取优化前后的请求及响应非空包;
[0030] 优化前后整体效果自动分析装置,连接空包过滤装置,自动分析移动终端应用程序的web优化前后的整体效果;
[0031] URL连接优化前后效果自动分析装置,连接优化前后整体效果自动分析装置,自动分析移动终端应用程序的各URL连接的优化前后的效果。
[0032] 根据本发明的移动终端应用程序优化效果的自动检测系统的一实施例,web自动访问装置进一步包括:
[0033] 应用程序ID获取模块,获取移动终端应用程序的ID号;
[0034] 页面访问模块,移动终端应用程序利用获取到的ID号访问web页面;
[0035] 抓包模块,在后台启动抓包进程;
[0036] 页面加载模块,移动终端应用程序自动访问web并加载相应的页面;
[0037] 页面加载状态检测模块,移动终端应用程序检测到页面加载完成后停止抓包进程并将抓取到的包进行过滤分析。
[0038] 根据本发明的移动终端应用程序优化效果的自动检测系统的一实施例,空包过滤装置包括:
[0039] 包文件计算模块,计算抓包获取的文件大小,对空文件进行过滤,以获得非空包;
[0040] 映射存储模块,记录非空包的名称和移动终端应用程序之间的映射关系,并分开存储在优化前目录和优化后目录中。
[0041] 根据本发明的移动终端应用程序优化效果的自动检测系统的一实施例,优化前后整体效果自动分析装置进一步包括:
[0042] 无效测试数据过滤模块,计算所有测试次数的平均值及其方差,根据平均值和方差使用无效数据过滤规则,对无效测试数据进行自动过滤处理;
[0043] 整体效果分析模块,在优化前目录和优化后目录中选择相应的文件,分析优化前后的加载时间与优化百分比、响应包字节数与压缩百分比、请求个数减少量。
[0044] 根据本发明的移动终端应用程序优化效果的自动检测系统的一实施例,URL连接优化前后效果自动分析装置进一步包括:
[0045] 抓包文件上传模块,将抓包获取的文件上传到包分析服务器;
[0046] 哈希映射存储模块,在上传成功后返回相应的哈希映射值,并分别保留在优化前目录和优化后目录中;
[0047] URL连接优化计算模块,通过比较哈希映射值判断是否属于优化前后的同一个URL,并计算提升的百分比。
[0048] 本发明对比现有技术有如下的有益效果:本发明的方案区别于现有技术的发明点在于:(1)自动访问web,提升移动web访问效率,传统技术中没有实现移动APP自动访问web和自动化抓取web请求及其响应技术,本发明是一个突破;(2)自动化分析web优化效果:针对上述第(1)点中的自动化测试和抓包获取结果,进行一种对优化效果的自动化分析测试,具体是设计一定的算法对抓包过程中出现的异常数据进行剔除,并给出web优化的各种量化指标,从web优化整体效果到各个URL请求的优化效果,最小粒度至各个URL的连接时间,接收时间优化百分比。相对于传统技术,本发明的方案可以自动化模拟请求,从而自动化获取分析结果,还可以量化网页加载整体优化效果:统计优化前后加载的时间、请求个数和网页大小,也可以量化每个请求的优化效果:针对每个请求优化前后整体优化百分比,包括DNS解析时间、连接时间、等待时间和接收时间。

附图说明

[0049] 图1示出了传统的移动应用访问web页面的优化技术流程图。
[0050] 图2示出了本发明的移动web优化效果前后的整体效果示意图。
[0051] 图3示出了本发明的移动应用访问web时各个请求所占用的平均时间片段相对优化前的详细情况示意图。
[0052] 图4示出了本发明的移动终端应用程序优化效果的自动检测方法的实施例的流程图。
[0053] 图5示出了本发明的移动终端应用程序优化效果的自动检测系统的实施例的结构图。

具体实施方式

[0054] 下面结合附图和实施例对本发明作进一步的描述。
[0055] 图4示出了本发明的移动终端应用程序优化效果的自动检测方法的实施例的流程。请参见图4,本实施例的自动检测方法的各个步骤详述如下。
[0056] 步骤S10:移动终端应用程序(以下亦可称为移动APP)自动访问web页面,获取优化前后的请求和响应包。
[0057] 这一步骤一改传统的APP手动访问web页面的效率低下的局面,通过全自动化实现移动APP访问web操作自动化,在自动化开始之前,需要配置移动应用名称和移动应用ID,这一映射关系配置在一个文件中,以备读取,从而解决不支持中文的难题。本步骤的实现可以进一步拆分为:第一步,获取移动APP的ID号,为解决移动终端上中文显示问题,需要在控件结构层次分析器上获取移动APP下拉菜单下移动APP对应的ID号,并通过配置文件将其映射关系写入文件中。第二步,通过移动APP访问web页面,移动应用访问web只需要查找相应的应用名字即可,在前一步骤的基础上通过自动化测试工具自带的函数选择该应用,然后通过touch函数点击该应用,便可进入该应用页面,有开始按钮选择是否开始进行访问web,模拟人工操作做相应的web访问。第三步,触发抓包进程的启动,在前一步骤的页面中,通过touch函数点击开始按钮,便可发送一条命令给后台抓包程序,开始抓包。第四步,移动APP开始加载web页面,在第三步触发抓包后台进程运行之后,APP会自动访问web并加载相应的页面。第五步,移动APP检测自动访问页面是否完成,通过计算像素点和RGB值判断web加载是否结束,若与事先保存的图片的像素点和RGB值相等,则表明页面加载完成,移动APP访问web结束,此时发送停止抓包进程,并将该包发送至包分析服务器进行过滤分析。
[0058] 步骤S12:通过过滤空包获取优化前后的请求及响应非空包。
[0059] 在步骤S10结束后会发给系统一个结束信号,停止抓包。由步骤S10推送过来的优化前后请求/响应包可能存在空包,在本步骤中,计算抓包获取的文件大小,对空文件进行过滤,获得每次测试的非空包,记录包名和移动应用的映射关系,并分开存储在优化前目录和优化后目录中。
[0060] 步骤S14:自动分析移动终端应用程序的web优化前后的整体效果。
[0061] 步骤S12完成后,在其优化前目录和优化后目录中选择相应的文件,分析优化前后加载时间、响应包字节数与请求个数,因为在自动化抓取数据过程中,与测试时手机信号有关,抓包中可能存在某些Web加载失败导致重复操作或者提前终止抓包,因此,需要计算所有测试次数的平均值及其方差,根据平均值和方差,使用无效数据过滤规则,对无效测试数据进行自动过滤处理,处理完后给出该移动APP的Web优化整体效果,包括:加载时间与优化百分比,字节数与压缩百分比,请求个数减少情况。
[0062] 详细而言,加载时间的优化百分比是指使用移动应用优化工具后网页加载时间提升的比例:
[0063] 加载时间的优化百分比=[(加速前加载时间-加速后加载时间)/加速前加载时间]*100%
[0064] 字节数压缩比是指使用移动应用优化工具后页面压缩带来的流量节省的比例:
[0065] 字节数压缩比=[(加速前页面大小-加速后页面大小)/加速前页面大小]*100%[0066] 上述的“根据平均值和方差,使用无效数据过滤规则,对无效测试数据进行自动过滤处理”中的无效数据过滤规则是指:若某次测试求得的平均值小于 则视为异常数据。其中衡量平均值是否准确的量,越接近零,平均值越准确,用variance表示:
[0067] variance=sum[(a1-avg)^2+(a2-avg)^2+…(an-avg)^2]
[0068] 上述a1,a2,…,an为每次测量值。针对异常数据再次判断,计算第1次…第n次测试结果中,第m次以外的其他项与平均值的方差(variance(1,n-1),variance(2,n),…,variance(1,p-1,p+1,n)),方差值最大测试数据为无效值(max[variance(1,n-1),variance(2,n),…,variance(1,p-1,p+1,n)]),建议剔除之。公式中p值为经验数据,在本发明中该值选择为3。
[0069] 图2示出了移动web优化效果前后的整体效果,在图2中,测试次数为4次,方差越小表明误差越小,若方差为0则平均值即为准确值。
[0070] 步骤S16:自动分析移动终端应用程序的各URL连接的优化前后的效果。
[0071] 每次测试时都会将该抓包文件上传到包分析服务器上,上传成功后返回相应的view_hash值(哈希映射值),并分别保留至优化前目录和优化后目录下,每个文件以json格式保存,然后比较该view_hash值,若相等,则表明这是优化前后的同一个url,并计算提升的百分比。图3示出了各个URL连接优化后相对优化前的提升效果。
[0072] 图5示出了本发明的移动终端应用程序优化效果的自动检测系统的实施例的结构。请参见图5,本实施例的自动检测系统包括:web自动访问装置10、空包过滤装置12、优化前后整体效果自动分析装置14、URL连接优化前后效果自动分析装置16。空包过滤装置12连接web自动访问装置10,优化前后整体效果自动分析装置14连接空包过滤装置12。
URL连接优化前后效果自动分析装置16连接优化前后整体效果自动分析装置14。
[0073] web自动访问装置10中,移动终端应用程序自动访问web页面,获取优化前后的请求和响应包。
[0074] web自动访问装置10进一步包括:应用程序ID获取模块100、页面访问模块101、抓包模块102、页面加载模块103、页面加载状态检测模块104。
[0075] 应用程序ID获取模块100中,获取移动终端应用程序的ID号。页面访问模块101中,移动终端应用程序利用获取到的ID号访问web页面。抓包模块102在后台启动抓包进程。页面加载模块103中,移动终端应用程序自动访问web并加载相应的页面。页面加载状态检测模块104中,移动终端应用程序检测到页面加载完成后停止抓包进程并将抓取到的包进行过滤分析。
[0076] 空包过滤装置12中,通过过滤空包获取优化前后的请求及响应非空包。
[0077] 空包过滤装置12包括:包文件计算模块120、映射存储模块122。
[0078] 包文件计算模块120计算抓包获取的文件大小,对空文件进行过滤,以获得非空包。映射存储模块122记录非空包的名称和移动终端应用程序之间的映射关系,并分开存储在优化前目录和优化后目录中。
[0079] 优化前后整体效果自动分析装置14中,自动分析移动终端应用程序的web优化前后的整体效果。
[0080] 优化前后整体效果自动分析装置14进一步包括:无效测试数据过滤模块140、整体效果分析模块142。
[0081] 无效测试数据过滤模块140中,计算所有测试次数的平均值及其方差,根据平均值和方差使用无效数据过滤规则,对无效测试数据进行自动过滤处理。
[0082] 整体效果分析模块142中,在优化前目录和优化后目录中选择相应的文件,分析优化前后的加载时间与优化百分比、响应包字节数与压缩百分比、请求个数减少量。
[0083] 详细而言,加载时间的优化百分比是指使用移动应用优化工具后网页加载时间提升的比例:
[0084] 加载时间的优化百分比=[(加速前加载时间-加速后加载时间)/加速前加载时间]*100%
[0085] 字节数压缩比是指使用移动应用优化工具后页面压缩带来的流量节省的比例:
[0086] 字节数压缩比=[(加速前页面大小-加速后页面大小)/加速前页面大小]*100%[0087] 而无效数据过滤规则是指:若某次测试求得的平均值小于 则视为异常数据。其中衡量平均值是否准确的量,越接近零,平均值越准确,用variance表示:
[0088] variance=sum[(a1-avg)^2+(a2-avg)^2+…(an-avg)^2]
[0089] 上述a1,a2,…,an为每次测量值。针对异常数据再次判断,计算第1次…第n次测试结果中,第m次以外的其他项与平均值的方差(variance(1,n-1),variance(2,n),…,variance(1,p-1,p+1,n)),方差值最大测试数据为无效值(max[variance(1,n-1),variance(2,n),…,variance(1,p-1,p+1,n)]),建议剔除之。公式中p值为经验数据,在本发明中该值选择为3。
[0090] URL连接优化前后效果自动分析装置16中,自动分析移动终端应用程序的各URL连接的优化前后的效果。
[0091] URL连接优化前后效果自动分析装置16进一步包括:抓包文件上传模块160、哈希映射存储模块162、URL连接优化计算模块164。
[0092] 抓包文件上传模块160中,将抓包获取的文件上传到包分析服务器。哈希映射存储模块162中,在上传成功后返回相应的哈希映射值,并分别保留在优化前目录和优化后目录中。URL连接优化计算模块164中,通过比较哈希映射值判断是否属于优化前后的同一个URL,并计算提升的百分比。
[0093] 总的来说,通过本发明,首先可以对移动web的优化效果给出整体的量化值;其次,可以使移动APP自动访问web,替代人工操作,极大提高测试效率;最后,可以自动抓包,并较准确地自动分析移动web的优化效果及各个URL的优化效果,减少大量人工分析过程,极大提高移动web测试效率和移动APP开发质量。
[0094] 上述实施例是提供给本领域普通技术人员来实现和使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书所提到的创新性特征的最大范围。