当前位置:文档之家› Android应用软件调用系统资源监控系统设计

Android应用软件调用系统资源监控系统设计

Android应用软件调用系统资源

监控系统设计

曾晨曦,孟祥娇,李

隽,姚金冶,白

(工业和信息化部电信研究院,北京100191)

摘要:应用软件在移动终端系统运行中会占用一定系统资源,但用户却无法直接对其监控。

为保证其对资源使用的技术上优化和逻辑上合理,需要一个能够在应用运行的过程中,实时地将其对操作系统资源耗费情况展示出的系统,即应用软件调用系统资源监控系统。从总体设计、运行设计和系统出错处理设计三个角度出发,介绍整个测试系统的设计思路。关键词:移动应用软件,安卓操作系统,资源调用Abstract :Applications would occupy some system re -source in mobile devices while running,however users could not detect any of this without a monitor system.An application resource monitor for Android OS is de -veloped based on this idea.This article introduces the system design philosophy from three angles including the general frame,the execution consideration,and the error management.

Keywords:mobile application,Android OS,resource monitor

*基金项目:国家新一代宽带无线移动通信网专项(2012ZX 03002030)移动智能终端测试认证系统研发课题。

1引言

1.1背景介绍

应用软件在运行中需占用终端的资源,而这种行为用户却无法直接监控。为了保证其对资源使用的技术上优化和逻辑上合理,需要一个能够在应用运行的过程中,实时地将其对操作系统资源耗费情况展示出的系统,即应用软件调用系统资源监控系统。系统和终端通过USB相连接,在操作应用软件的同时执行监控功能,通过黑盒测试的方式确定应用软件的行为。本文中设计的系统仅支持Android操作系统。

1.2术语

ADB(AndroidDebugBridge):是一种系统,用这个系统可以直接操作管理android模拟器或者真实的andriod设备。

IMEI(InternationalMobileEquipmentIdentity):是

图1应用软件调用系统资源监控系统系统结构图

国际移动设备身份码的缩写,又称国际移动装备辨识码,是由15位数字组成的“电子串号”,它与每台手机一一对应,而且每台手机的身份码却是全世界唯一的。

2总体设计

2.1运行环境

操作系统基本功能测试系统分为客户端和服务端两个程序,其中客户端程序运行于PC端,基于WindowsXP及以上的操作系统。服务端程序运行于手机端,手机端为基于Android平台。

2.2设计思想

在第三方应用程序运行的过程中,会持续占用系统的内存资源,调用系统的存储资源,同时也会因需调用系统的端口。为了验证我国具有自主知识产权的智能终端操作系统对资源使用的技术上的优化和逻辑上的合理,开发该应用软件调用系统资源监控系统,通过该系统可以实时监控在应用软件运行过程中对于内存的占用情况、存储资源的消耗情况等相关信息。

2.3系统架构

应用软件调用系统资源监控系统主要由两部分组成:一部分是运行在智能终端操作系统上的Ser-vice组件,该组件主要负责由PC客户端发送的控制指令的响应,如应用软件的运行、端口的调用等操作,同时会将智能终端操作系统的相关资源信息返回到PC客户端;另外一部分是运行在PC客户端,该部分提供图形化界面操作及显示工作,主要负责发送控制指令、接收智能终端操作系统状态信息并进行实时的图形化显示,该部分主要包括控制组件、接口组件和四个功能组件(测试例开发组件、测试例库、终端资源监控组件和应用软件下载组件)。具体

结构示意图如图1所示。

2.4系统功能

应用软件调用系统资源监控系统包括PC端检测子系统和智能终端检测子系统两部分。PC端检测子系统主要功能包括:手动连接终端设备、CPU资源监控、RAM资源监控、ROM资源监控、外置存储资源监控、电量信息监控、获取屏幕分辨率信息、获取CPU信息、获取开机时间信息、获取终端MAC地址信息、流量信息监控、正在运行程序监控、区间监控(包括对CPU、RAM、ROM、外置存储的监控)、区间监控记录导出、区间监控记录显示以及测试参数设置等。智能终端程序主要功能包括:读取终端信息、与PC端通信及获取终端状态信息等。

该系统的功能结构如图2所示。(1)安装卸载终端程序

在系统运行初始阶段,测试系统会将终端测试程序静默安装至待测终端,该测试程序的主要作用是用来建立与PC端的数据连接,并在测试执行过程中一直负责监听PC端发送过来的控制指令。

(2)读取终端信息

该功能的实现主要是在测试初始阶段,PC端与待测终端成功建立数据连接后,自动通过终端读取终端的各种属性信息,主要包括终端名称、终端IMEI号、终端操作系统版本号和分辨率信息等。这些信息的读取都是由安装在终端上的检测程序来具体执行,在成功读取到相关信息后,再通过与PC端的数据通道将数据信息返回到PC端。

图2系统功能结构图

(3)获取终端状态

终端状态主要是指待测终端是否通过USB的方式正常连接于PC端终端,状态的获取主要是通过ADB指令不断轮询终端信息,并通过分析ADB指令的返回信息来获取终端的状态。

(4)CPU资源监控

监控系统提供对测试终端的CPU使用情况的监控功能,监控的主要内容包括获取CPU的核数、CPU当前的使用频率及CPU使用率。在监控过程中,每项内容都会以数字的形式展示在测试系统的右侧监控信息窗口,其中CPU使用率数据会每隔1秒钟进行动态更新,保证与监控信息的实时性。同时,CPU使用率还会以动态图像的方式进行展示。

(5)RAM资源监控

监控系统提供对测试终端的RAM使用情况的监控功能,监控的主要内容包括获取RAM的总容量、RAM的剩余容量及RAM的使用率。在监控过程中,每项内容都会以数字的形式展示在测试系统的右侧监控信息窗口,其中RAM剩余容量和RAM使用率会每隔1秒钟进行动态更新,保证与监控信息的实时性。同时,RAM使用率还会以动态图像的方式进行展示。

(6)ROM资源监控

监控系统提供对测试终端的ROM使用情况的监控功能,监控的主要内容包括获取ROM的总容量、ROM的剩余容量以及ROM的使用率。在监控过程中,每项内容都会以数字的形式展示在测试系统的右侧监控信息窗口,其中ROM剩余容量和ROM使用率会按每隔1秒钟进行动态更新,保证与监控信息的实时性。同时,ROM使用率还会以动态图像的方式进行展示。

(7)外置存储资源监控

监控系统提供对测试终端的外置存储资源使用情况的监控功能,监控的主要内容包括获取外置存储资源的总容量、外置存储资源的剩余容量和外置存储资源的使用率。在监控过程中,每项内容都会以数字的形式展示在测试系统的右侧监控信息窗口,其中外置存储资源剩余容量和外置存储资源使用率会按每隔1秒钟进行动态更新,保证与监控信息的实时性。同时,外置存储资源使用率还会以动态图像的方式进行展示。

(8)电量信息监控

电量信息监控功能主要实现对终端的电量信息的监控。该功能可以每隔1秒钟读取测试终端的剩余电量信息,并在测试信息窗口显示出来。

(9)获取其他终端信息

其他终端信息主要包括开机时间、CPU信息和MAC地址信息。其中的CPU信息主要包括测试终端的CPU名称和CPU型号。

(10)区间监控

区间监控主要是对CPU资源、RAM资源、ROM资源及外置存储资源在一定时间区间内的资源消耗情况进行监控。时间区间的长短可以在测试参数设置中来进行定义,主要分为6个时间区间,分别为1分钟、5分钟、30分钟、1小时、3小时和6小时。在选定测试时间进行区间监控后,测试系统会自动启动时间计数,并在监控期间会按一定时间间隔自动记录当前状态。在到达选定时间后,测试系统会自动停止监控。

(11)区间测试结果导出

测试系统提供对区间测试结果导出的功能,该功能可以将区间测试过程中的测试数据以文件的形式导出至本地存储目录,测试人员可以通过该文件来详细查看测试过程中每个时间点的资源使用情况。

(12)区间测试结果显示

测试系统同时提供对区间测试结果的显示功能。该功能主要是以图形的方式来显示测试过程中的资源使用情况,可以直观地将在测试期间资源使用情况显示给测试人员。

(13)流量使用情况监控

测试系统提供流量使用情况监控功能。该功能可以实时监控测试终端中各个APP的流量使用情况,并以列表的形式显示在测试系统右侧的信息显示窗口。每个APP的流量统计信息是以开机时间开始计算,测试系统可以在信息窗口上显示APP名称、APP包名、APP发送字节数、APP接收字节数四项内容。测试系统同时提供对每列信息的排序功能,其中APP名称和APP包名是以字母顺序进行排序,发送字节数和接收字节数是以数值大小进行排序。

(14)正在运行程序监控

测试系统提供对正在运行程序的监控功能。该功能可以实现获取测试终端所有正在运行的程序列表,包括前台程序和后台程序,测试系统会将正在运行的程序以列表形式显示在测试系统的左侧窗口。在测试人员点击APP后,测试系统会在右侧信息窗口显示出该APP所申请的所有权限,并将每个权限添加对应的中文注解。

(15)系统设置功能

系统设置功能主要是实现对测试系统中流量统计信息刷新时间间隔和区间测试的时间长度的设置功能,这些设置功能在保存后将即时生效。同时测试系统会将这些设置信息是以文件的形式保存于本地。

3运行设计

3.1系统初始化

系统开始运行阶段,会首先通过ADB程序检测是否有连接待测终端,当存在待测终端,则安装检测程序至终端以完成通信工作。

3.2运行控制

运行控制包括以下几方面内容:

·在测试系统运行初期,应保证测试终端与PC端的正常连接,包括USB数据线连接完好,并且终端的驱动安装正确。

·启动测试系统,正常状态测试系统会有提示发现终端,并自动进行连接。该过程的进行会有进度条显示,同时后台会自动进行终端程序的安装、建立数据连接、读取终端信息等一系列操作。

·在终端正常连接后,会在测试系统显示终端的

相关属性信息,包括名称、IMEI号、OS版本等。如果这些信息显示正确,证明终端已经正常连接到测试系统,可以进行相关的测试工作。如果终端连接不正常,可以点击菜单中的“连接设备”选项,进行设备的手动连接操作。

·对测试系统中各个测试参数进行设置。·在正常连接后,测试系统可以进行对系统各个资源类型的监控操作。

·

测试人员可以进行终端的流量信息的监控。·导出及查看区间监控及区间监控的结果。·系统测试例的测试流程图如图3所示。

3.3运行结束

测试结束后,测试人员点击退出按钮,则系统会自动卸载测试初始阶段安装至终端的检测程序。

4系统出错处理设计

采用try-catch捕捉系统异常,若在案例检测中发生通讯异常,则终止检测;若在其它地方发生系统异常,则退出系统。在需要用户输入内容的操作中,

系统会自动判断用户输入内容的合法性,禁止用户提交非法信息。

5实例演示

在国家科技重大专项的支持下,该软件目前已开发完成。主要功能为对系统的CPU、RAM、ROM使用率监控,还可提供SD卡使用情况、电量使用情况、屏幕分辨率及开机时间等信息。

图4为某应用软件运行时,对其占用CPU使用率的监控。数据刷新时间可通过设置接口人工选择。信息显示窗口可提供CPU核数,CPU使用率百分比,以及当前使用率的数据,并根据用户选择的刷新间隔,实时绘制CPU使用率曲线图。

图5为某应用软件运行时,对其占用RAM使

用率的监控。数据刷新时间可通过设置接口人工选择。信息显示窗口可提供RAM总容量、RAM剩余容量以及当前使用率等数据,并可根据用户选择的刷新间隔,实时绘制RAM使用率曲线图。

后续工作将围绕测试结果统计和测试系统管理工具的优化展开,进一步完善和实现自动化测试。

作者简介

曾晨曦:都灵理工大学通信工程硕士,现为业和信息化部电信研究院泰尔终端实验室应用与软件部移动互联网科研工程师,主要研究领

MSTT

图4CPU 使用率监控

图3测试流程图

(下转第46页)

当系统稀疏时,所有的算法都能达到预期的效果,然而当系统因为稀疏度降低和普遍化而恶化时,大多数算法的性能就会比通常的“稀疏性不可知论”的自适应滤波器LMS、NLMS算法更差。因而针对不同的稀疏度,算法的敏感度问题需要进一步研究。

(2)快速收敛和小稳态误差之间的均衡由于算法在收敛过程中受到随即梯度噪声的影响,快速收敛和小稳态误差不能兼得;而当自适应过程趋于稳态时,算法对零点附近的稀疏施加了过大的吸引力,导致失调误差增大。因而快速收敛与小稳态误差之间的均衡也是未来研究的一个发展方向。

参考文献

[1]DuttweilerDL.Proportionatenormalizedleast-mean-squaresadaptationinechocancellers

[J].IEEETransactionsonSpeechand

AudioProcessing,2000:508-518.

[2]S.L.Gay,Anefficient,fastconvergingadaptivefilterfornetworkechocancellation[C]//Proc.AsilomarConf.Signals,Systems,Comput,Nov.,1998:394-398.

[3]J.Benesty,S.L.Gay,"AnimprovedPNLMSalgorithm"[C]//ProceedingsoftheIEEEInternationalConferenceonAcoustic,SpeechandSignalProcessing,Orlando,Florida,USA,2002:1881-1884。[4]J.Homer,I.Mareels,R.R.Bitmead,B.Wahlberg,andA.Gustafsson,LMSestimationviastructuraldetection[J],IEEETrans.SignalProcess,vol.46,October,1998:2651-2663.[5]D.L.Donoho,Compressedsensing

[J],IEEETrans.Information

Theory,vol.52,no.4,Apr.,2006:1289-1306.

[6]Y.Chen,Y.GuandA.O.Hero,SparseLMSforsystemidentification[C]//Proc.IEEEICASSP-2009,Taipei,Taiwan,Apr.2009:3125-3128.[7]GuY,JinJ,andMeiS.l0normconstraintLMSalgorithmforsparsesystemidentification[J].IEEESignalProcessingLetters,2009:774-777.[8]BijitKumarDasandMrityunjoyChakraborty.SparseAdaptiveFilteringbyanAdaptiveConvexCombinationoftheLMSandtheZA-LMSAlgorithms[J].IEEETRANSACTIONSONCIRCUITSANDSYSTEMS,VOL.61,NO.5,MAY2014:1499-1507.

[9]自适应滤波器原理:第4版/(加)赫金(Haykin.S)著;郑宝玉等译[M].北京:电子工业出版社,2010.

作者简介

林云:重庆邮电大学个人通信研究所副教授,博士,主要研究方向为信号处理、移动通信环境下抗衰落技术、MIMO技术、OFDM、衰落信道信息论等。

罗辉:重庆邮电大学个人通信研究所硕士研究生,主要研究方向为信号处理。

MSTT

图2两个自适应滤波器的凸组合:

滤波器1(基于ZA-LMS )和滤波器2(基于LMS )

图5RAM 使用率监控

域为应用软件测试,自动化测试,智能终端测试。

孟祥娇:现为工业和信息化部电信研究院泰尔终端实验室工程师,具有多年通信行业工作经验,目前从事通信智能终端软件测试方面工作。

姚金冶:现为工业和信息化部电信研究院泰尔终端实验室应用与软件部主任工程师,具有多年电信行业技术经验,现主要从事移动通讯技术的研究和移动通讯设备维护工作。

李隽:北京邮电大学硕士,现为工业和信息化部电信研究院泰尔终端实验室应用与软件部副主任,具有多年移动通信终端测试领域的测试、开发、标准化工作经历,现主要从事移动智能终端应用与软件评测领域的研究工作。

白岩:现为工业和信息化部电信研究院泰尔终端实验室测试经理,具有多年从事移动终端测试项目以及业务外包项目管理的工作经历,现主要从事移动终端应用与软件测试项目的管理工作。

(上接第41页)

相关主题
文本预览
相关文档 最新文档