基于分布式部署真机采集手机APP性能数据的方法技术

技术编号:12344182 阅读:125 留言:0更新日期:2015-11-18 17:24
本发明专利技术公开了一种基于分布式部署真机采集手机APP性能数据的方法,方法分为七个步骤:录制器客户端,通过socket连接与录制server端保持通讯,采用protocolbuffer的数据交换格式,用户在登陆录制器后,可通过上传APP创建相应项目;录制完需要测试的流程之后,上传脚本和项目;录制server端将项目信息保存至数据库oracle中,同时将接收到的APP文件通过http上传至文件服务器;在报表平台选中需要测试的脚本和客户端,创建任务;任务调度server将所有的任务排成队列。本发明专利技术只需要在录制器上录制好需要测试的流程,选择好需要测试的城市和网络制式即可,排除了其他程序和用户的个人感知带来的干扰,把外部影响降低到最小,真实反映应用的性能表现。

【技术实现步骤摘要】

本专利技术涉及一种采集手机APP性能数据的方法,尤其涉及一种基于分布式部署真机采集手机APP性能数据的方法
技术介绍
随着智能终端的普及,移动应用的使用量和重要性也与日倶增,用户体验的要求也越来越高。与电脑的桌面应用程序相比,移动应用的耗电小,速度慢,但是手机用户却希望能够享受到与电脑桌面应用程序同样的加载速度,所以性能问题就成了用户和开发者都关心的问题。现有的APP性能测试有以下几个缺点:1、成本高:要模拟不同手机在实际应用中的网络接入情况,其中包括2G、3G、4GLTE和WIFI网络等等,而且需要模拟不同地点、不同时间段的情况;安卓设备的碎片化严重,每个手机模型都有特定的配置,比如操作系统、手机内存、不同的处理器和屏幕尺寸等等,这些因素在测试手机应用时都必须被考虑到;2、没有准确的数据:目前没有一个准确的性能值数据反馈给APP的开发者和运维管理者,而都是靠个人的感知来反馈应用的性能是否够快捷,由于每个人的感知不同,反馈过来的数据也是千差万别,不够权威;3、嵌套探针:需要下载相应的SDK在服务端应用中植入探针,获取应用服务器性能或者数据库的相关性能数据。
技术实现思路
为了解决上述技术所存在的不足之处,本专利技术提供了一种基于分布式部署真机采集手机APP性能数据的方法。为了解决以上技术问题,本专利技术采用的技术方案是:一种基于分布式部署真机采集手机APP性能数据的方法,方法的实现步骤为:(I)、录制器客户端,通过socket连接与录制server端保持通讯,采用protocolbuffer的数据交换格式,用户在登陆录制器后,可选择创建项目,上传APP文件,录制server端在收到相应的请求后,会将项目信息保存至数据库oracle中,同时将接收到的APP文件通过http上传至文件服务器;(2)、项目创建完成后,可在录制器中选中项目,添加脚本,然后点击选择录制手机,录制可执行脚本,脚本完成后上传脚本到服务器,server端将脚本信息入库,脚本文件上传至文件服务器;(3)、登陆报表平台,该平台是基于JSP+structs2+ibatis2技术实现,选择需要测试的项目及脚本,配置好监测点、监测时间和监测频率等信息,创建监测任务,报表平台将任务ig息保存入库;(4)、任务调度server端,是基于JAVA实现的,该server通过定时器定时的从数据库中查询监测任务信息,按照监测点和监测频率编入任务队列中,每当接收到回放手机客户端发来请求任务的http请求时,任务调度server端会将对应的任务信息发给客户端,并在其对应的任务队列中移除一个任务信息;(5)、回放手机客户端,是基于JAVA实现,客户端请求到监测任务后,访问文件服务器,通过http方式下载任务相应的APP及脚本文件,将APP安装在相应的手机客户端,模拟回放脚本中的各个动作,记录此过程中的网络性能数据,保存系统日志手机截图等信息。任务完成后,即通过http的方式将任务结果数据回传至服务器,将截图,日志等文件通过FTP方式上传至FTP服务器;(6)、任务结果数据入库server端负责在服务器端回收任务结果数据后,定时扫描保存结果数据文件的目录,解析数据文件,将结果信息保存入库;(7)、任务执行完成后,可在报表平台中查看任务的结果数据。本专利技术只需要在录制器上录制好需要测试的内容,选择好需要测试的城市和网络制式,就可以全天候实时在全国各地的真机上运行用户需要测试的内容,而且每个动作性能值都是可以精确到毫秒级别,真正给出准确的性能值数据,完全排除由于个人感知不同带来的干扰;不需要用户下载任何程序,真正把外部影响降低到最小,真实反映应用的性能表现。【附图说明】下面结合附图和【具体实施方式】对本专利技术作进一步详细的说明。图1为专利技术的整体实现流程图。【具体实施方式】如图1所示,本专利技术的实现步骤如下:1、录制器客户端(基于C++实现),通过socket连接与录制server端(基于JAVA实现)保持通讯,采用protocolbuffer的数据交换格式,用户在登陆录制器后,可选择创建项目,上传APP文件,录制server端在收到相应的请求后,会将项目信息保存至数据库(oracle)中,同时将接收到的APP文件通过http上传至文件服务器;2、项目创建完成后,可在录制器中选中项目,添加脚本,然后点击选择录制手机,录制可执行脚本,录制完需要测试的流程后即可上传脚本到服务器,server端将脚本信息入库,脚本文件上传至文件服务器;3、登陆报表平台(基于JSP+structs2+ibatis2技术实现),选择需要测试的项目及脚本,配置好监测点、监测时间和监测频率等信息,创建监测任务,报表平台将任务信息保存入库;4、任务调度server端(基于JAVA实现)通过定时器定时的从数据库中查询监测任务信息,按照监测点,监测频率编入任务队列中,每当接收到回放手机客户端发来请求任务的http请求时,任务调度server端会将对应的任务信息发给客户端,并在其对应的任务队列中移除一个任务信息;5、回放手机客户端(基于JAVA实现)请求到监测任务后,访问文件服务器,通过http方式下载任务相应的APP及脚本文件,将APP安装在相应的手机客户端,模拟回放脚本中的各个动作,记录此过程中的网络性能数据,保存系统日志手机截图等信息。任务完成后,即通过http的方式将任务结果数据回传至服务器,将截图,日志等文件通过FTP方式上传至FTP服务器;6、任务结果数据入库server端(基于JAVA实现)负责在服务器端回收任务结果数据后,定时扫描保存结果数据文件的目录,解析数据文件,将结果信息保存入库;7、任务执行完成后,可在报表平台中查看任务的结果数据。APP:应用程序Applicat1n的缩写,这里指的是智能手机当前第1页1 2 本文档来自技高网...
基于分布式部署真机采集手机APP性能数据的方法

【技术保护点】
一种基于分布式部署真机采集手机APP性能数据的方法,其特征在于:所述方法的实现步骤为:(1)、录制器客户端,通过socket连接与录制server端保持通讯,采用protocolbuffer的数据交换格式,用户在登陆录制器后,可选择创建项目,上传APP文件,录制server端在收到相应的请求后,会将项目信息保存至数据库oracle中,同时将接收到的APP文件通过http上传至文件服务器;(2)、项目创建完成后,可在录制器中选中项目,添加脚本,然后点击选择录制手机,录制可执行脚本,脚本完成后上传脚本到服务器,server端将脚本信息入库,脚本文件上传至文件服务器;(3)、登陆报表平台,该平台是基于JSP+structs2+ibatis2技术实现,选择需要测试的项目及脚本,配置好监测点、监测时间和监测频率等信息,创建监测任务,报表平台将任务信息保存入库;(4)、任务调度server端,是基于JAVA实现的,该server通过定时器定时的从数据库中查询监测任务信息,按照监测点和监测频率编入任务队列中,每当接收到回放手机客户端发来请求任务的http请求时,任务调度server端会将对应的任务信息发给客户端,并在其对应的任务队列中移除一个任务信息;(5)、回放手机客户端,是基于JAVA实现,客户端请求到监测任务后,访问文件服务器,通过http方式下载任务相应的APP及脚本文件,将APP安装在相应的手机客户端,模拟回放脚本中的各个动作,记录此过程中的网络性能数据,保存系统日志手机截图等信息。任务完成后,即通过http的方式将任务结果数据回传至服务器,将截图,日志等文件通过FTP方式上传至FTP服务器;(6)、任务结果数据入库server端负责在服务器端回收任务结果数据后,定时扫描保存结果数据文件的目录,解析数据文件,将结果信息保存入库;(7)、任务执行完成后,可在报表平台中查看任务的结果数据。...

【技术特征摘要】

【专利技术属性】
技术研发人员:程捷莫瀚王宁柯
申请(专利权)人:北京博睿宏远科技发展有限公司
类型:发明
国别省市:北京;11

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

1