一种智能移动终端的应用程序查找方法和系统的制作方法

文档序号:6629263阅读:155来源:国知局
一种智能移动终端的应用程序查找方法和系统的制作方法
【专利摘要】本发明提供了一种智能移动终端的应用程序查找方法和系统,其中,智能移动终端采用安卓系统。首先,在智能移动终端的安卓系统上注册一个网络监测函数;其次,在监测控制模块中通过网络监测函数对智能移动终端的网络访问行为进行监测,并将进行网络访问行为的当前进程的用户标示记录在内核日志中;然后,通过导出模块导出安卓系统的内核日志以及应用程序安装信息文件;最后,使用查找模块在应用程序安装信息文件中查找与网络监测函数记录在内核日志上的用户标示相对应的应用程序。本发明通过网络监测函数对智能移动终端进行网络访问行为监测,方便快速准确地寻找出智能移动终端在休眠状态下仍频繁访问网络的应用程序,大大提高了工作效率。
【专利说明】一种智能移动终端的应用程序查找方法和系统

【技术领域】
[0001] 本发明涉及一种应用程序的查找方法,特别是涉及一种在安卓智能移动终端休眠 状态下仍能频繁访问网络的应用程序的查找方法和系统。

【背景技术】
[0002] 随着智能移动终端快速发展,因其小巧便携而被越来越多的用户接受并使用。随 着用户对智能移动终端的要求也越来越多,智能移动终端的功能也在不断增加。但是功能 的增加,必然引起功耗增加的问题。功耗增加,势必导致智能移动终端的待机时间缩短。因 此,在智能移动终端的研发过程中,对于功耗的优化也变得越来越重要。
[0003] 智能移动终端由于其功能的不断增加,一般会将很多应用程序在研发时就将其集 成在智能移动终端上,这些应用程序当中还包括一些第三方的应用程序,而且这些应用程 序中很多是可以访问网络的。在智能移动终端处于休眠状态时,需要保持低功耗的状态,但 是如果某些应用程序此时还频繁的访问网络,势必导致系统休眠异常,功耗增加。由于智能 移动终端中集成的应用程序很多,并且还包括一些第三方的应用程序,那么在功耗调试的 过程中,并不能很快找出频繁访问网络的应用程序。
[0004] 现有技术中,对在休眠状态时频繁访问网络的应用程序的查找是通过在智能移动 终端中依次删除应用程序,进行多次反复的功耗检测,来进行排除实验。一般情况下,这种 功耗检测实验一次需要半小时左右,而找出在休眠或待机状态下频繁访问网络的应用程序 往往需要一两天的时间,有时甚至更长。显而易见,耗时过长,效率过低,大大拖延了智能移 动终端的研发时间。


【发明内容】

[0005] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种智能移动终端的应用 程序查找方法和系统,用于解决现有技术中在智能移动终端处于休眠状态下无法准确判断 访问网络的应用程序的问题。
[0006] 为实现上述目的及其他相关目的,本发明提供一种智能移动终端的应用程序查找 方法,所述智能移动终端采用安卓系统,所述智能移动终端的应用程序查找方法包括:在所 述智能移动终端的安卓系统中注册一个网络监测函数;通过所述网络监测函数对所述智能 移动终端的网络访问行为进行监测,并将进行网络访问行为的当前进程的用户标示记录在 内核日志中;导出所述内核日志和所述智能移动终端中的应用程序安装信息文件;依照所 述网络监测函数记录在所述内核日志上的所述用户标示,在所述应用程序安装信息文件中 查找对应的应用程序。
[0007] 可选地,所述网络监测函数是通过nf_register_hooks (struct nf_hook_ ops*reg,unsigned int η)接口注册在所述安卓系统的netfilter防火墙框架上。
[0008] 可选地,所述网络监测函数在所述智能移动终端出现网络访问行为时才被执行。
[0009] 可选地,所述网络监测函数配置有一个开关;在所述开关打开,且所述智能移动终 端出现网络访问行为时,所述网络监测函数才被执行。
[0010] 可选地,所述用户标示是保存在身份证书结构内的。
[0011] 可选地,所述网络监测函数是通过所述安卓系统内核的标准接口 currenicred 获得当前访问网络的进程的所述身份证书结构的。
[0012] 可选地,所述应用程序安装信息文件包括应用程序的包名、安装文件路径和用户 标不。
[0013] 一种智能移动终端的应用程序查找系统,所述智能移动终端采用安卓系统,所述 智能移动终端的应用程序查找系统包括监测控制模块、导出模块和查找模块;所述监测控 制模块用于通过网络监测函数监测所述智能移动终端中的网络访问行为,并将进行网络访 问行为的当前进程的用户标示记录在内核日志上;导出模块用于导出所述内核日志和所述 智能移动终端上的应用程序安装信息文件;查找模块用于在所述应用程序安装信息文件内 查找与记录在所述内核日志中的所述用户标示对应的应用程序。
[0014] 可选地,所述网络监测函数是注册在所述安卓系统的netfilter防火墙框架上。
[0015] 如上所述,本发明的一种智能移动终端的应用程序查找方法和系统,通过网络监 测函数对整个智能移动终端进行网络监测,方便快捷准确地查找出进行过网络访问行为的 应用程序,尤其是针对智能移动终端处于休眠状态时,更是能够方便快速准确地查找出有 网络访问行为的应用程序,这大大提高了智能移动终端出厂时的功耗测试的工作效率。

【专利附图】

【附图说明】
[0016] 图1显示为本发明的实施例公开的一种智能移动终端的应用程序查找方法的流 程不意图。
[0017] 图2显示为本发明的实施例公开的一种智能移动终端的应用程序查找系统的结 构示意图。
[0018] 元件标号说明
[0019] S10 ?S40 步骤
[0020] 200 智能移动终端的应用程序查找系统
[0021] 210 监测控制模块
[0022] 220 导出模块
[0023] 230 查找模块
[0024] 300 智能移动终端
[0025] 310 应用程序

【具体实施方式】
[0026] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书 所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实 施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离 本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施 例中的特征可以相互组合。
[0027] 请参阅图1和图2,需要说明的是,以下实施例中所提供的图示仅以示意方式说明 本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数 目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其 组件布局型态也可能更为复杂。
[0028] 实施例1
[0029] 现有技术中,对于处于休眠状态下的移动智能终端中仍能够频繁访问网络的应用 程序的查找方法比较繁琐,耗时长而且效率低,针对此,本实施例提供了一种智能移动终端 的应用程序查找方法,仅需要一次简单的检测,即可寻找出频繁访问网络的应用程序。其 中,智能移动终端采用android系统(安卓系统);本实施例提到的应用程序既包括出厂时 集成在智能移动终端上的应用程序,也包括出厂后安装在智能移动终端上的应用程序。
[0030] 本实施例的一种智能移动终端的应用程序查找方法具体如图1所示,包括:
[0031] 步骤S10,在android系统中注册网络监测函数:
[0032] Android系统是基于linux内核的移动操作系统,netfilter是linux内核的防火 墙框架,netfilter的框架就是在整个linux内核网络流程的若干位置放置一些检测函数, 在这些检测函数中进行一些特定处理。本实施例的网络监测函数先在nf_hook_ops()上实 例化一个对象,然后再通过 nf_register_hooks (struct nf_hook_ops 氺reg,unsigned int n)接口将网络监测函数注册至netfilter框架上。在本实施例中,网络监测函数为:
[0033] static unsigned int phicomm-debug-ipv4_output(unsigned int booknum, struct sk-buff *skb, const struct net-device *in, const struct net-device *out, int (*okfn)(struct skbuff *)) { const struct cred *cred = current-cred(); printk (〃 [phicomm-debug netfliter] Start: skb->sk : %p, uid = %d, pid = %d\n", skb->sk, cred->uid, current->pid); return NF-ACCEPT; }
[0034] 当智能移动终端中的应用程序访问网络时,则会执行注册在netfilter框架上的 网络监测函数。并且,在执行过程中,网络监测函数通过内核标准接口 Current_cred〇 获取当前进程的身份证书结构cred (credentials),其中,身份证书结构中包括用户标示 uid(user identifier)信息;网络监测函数将身份证书结构cred中的用户标示uid信息打 印在内核日志中。
[0035] 在网络监测函数中还有一个用于控制网络监测函数的开关,只有在网络监测函数 的开关打开时,网络监测函数才能够被执行。
[0036] 步骤S20,通过网络监测函数对智能移动终端的网络访问行为进行监测:
[0037] 网络监测函数会对智能移动终端中进行网络访问行为的应用程序进行监测。但 是,进行网络访问行为的应用程序也分为两类:第一类为由用户操控应用程序进行的网络 访问;第二类是智能移动终端在休眠状态时仍会自动访问网络的应用程序,并非出于用户 自己的意愿。对于第一类的网络访问,是用户的需求,且访问网络的应用程序是由用户控制 的,通过本实施例的查找方法也可以完成对这一类应用程序的查找。对于第二类访问网络 的应用程序,由于其是自发的,且是在智能移动终端处于休眠状态下进行的网络访问,这势 必会造成智能移动终端整体功耗的增加;而且由于其是自发进行的网络访问,要查找这些 应用程序也是相当繁琐的,所以本实施例所查找的应用程序多指这一类应用程序。
[0038] 在智能移动终端处于休眠状态时,打开网络监测函数的开关,网络监测函数对整 个智能移动终端的网络访问状态进行监测:如果出现应用程序访问网络的情况,执行网络 监测函数,通过内核标准接口 current_cred()获取当前进程的身份证书结构cred,并将身 份证书结构cred中的用户标示uid和进行网络访问的时间打印在内核日志中。
[0039] 步骤S30,导出内核日志和应用程序安装信息文件:
[0040] 由于android系统是基于linux内核的移动操作系统,所以使用命令adb shell dmesg导出内核日志。
[0041] Android系统中,应用程序由 android 的包管理程序(Package Manager Service, PMS)统一进行管理的,且应用程序安装信息文件统一记录在packages, xml文件中,保存在 /data/system/的路径下。应用程序安装信息文件packages, xml记录了智能移动终端上的 每一个应用程序的基本安装信息,包括应用程序的包名、应用程序的安装文件路径、应用程 序的用户标不UserlD(User Identifier)等等。使用命令adb pull/data/system/packages. xml导出应用程序安装信息文件。
[0042] 步骤S40,在应用程序安装信息文件中,查找与网络监测函数在内核日志中记录的 用户标不对应的应用程序:
[0043] 首先,查找出网络监测函数并打印在内核日志中的用户标示uid信息;
[0044] 然后,根据用户标示uid信息,在应用程序安装信息文件中查找与之对应的应用 程序的用户标不UserlD ;
[0045] 最后,与uid对应的UserlD的应用程序即为在休眠状态下进行过网络访问的应用 程序。并且,还可根据应用程序的用户标示UserlD,查找出该应用程序的包名和安装文件路 径,以方便后续的处理。
[0046] 本实施例的一种智能移动终端的应用程序查找方法多应用于出厂前对智能移动 终端的功耗测试:
[0047] 在需要进行功耗测试的智能移动终端上注册网络监测函数;
[0048] 在智能移动终端处于休眠状态时,打开网络监测函数,使其对整个智能移动终端 进行监测;打开网络监测函数的同时,将智能移动终端与功耗测试设备连接起来,进行功耗 检测;由于智能移动终端的功耗检测已经为本领域的技术人员所广泛认知,这里就不再赘 述;
[0049] 导出内核日志和应用程序安装信息文件;
[0050] 根据功耗检测的结果,内核日志和应用程序安装信息文件,查找出休眠状态下仍 频繁访问网络而造成功耗增加的应用程序:根据功耗检测的结果可以查找出功耗增加的时 间;再对照内核日志当中,由网络监测函数记录的用户标示uid以及进行网络访问的时间, 查找出造成功耗增加的用户标示uid ;最后在应用程序安装信息文件中寻找用户标示为 uid的应用程序,该应用程序即为在休眠状态下因网络访问而造成功耗增加的应用程序。并 且,在应用程序安装信息文件中,还可查找出对应的安装文件路径,以方便后续操作。
[0051] 实施例2
[0052] 本实施例提供了一种智能移动终端的应用文件查找系统200,用于查找智能移动 终端在待机时,仍然继续访问网络的应用文件,其中,智能移动终端采用安卓系统。本实施 例的智能移动终端的应用文件查找系统200具体如图2所示,包括监测控制模块210、导出 模块220和查找模块230。
[0053] 其中,监测控制模块210用于通过网络检测函数监测整个智能移动终端300的应 用程序310的网络访问情况,并将进行网络访问的当前进程的用户标示uid记录在内核日 志上,同时也将进行网络访问的时间也记录在内核日志上。
[0054] Android系统是基于linux内核的移动操作系统,netfilter是linux内核的防火 墙框架。网络监测函数先在nf_hook_ops()上实例化一个对象,然后再通过nf_register_ hooks (struct nf_hook_ops*reg,unsigned int η)接口将网络监测函数注册至 netfilter 框架上。当智能移动终端中的应用程序访问网络时,则会执行注册在netfilter框架上的网 络监测函数。在执行过程中,网络监测函数通过内核标准接口 Current_cred〇获取当前进 程的身份证书结构cred(credentials),其中,身份证书结构中包括用户标示uid信息;网 络监测函数将身份证书结构cred中的用户标示uid信息打印在内核日志中。并且,在网络 监测函数中还有一个用于控制网络监测函数的开关,只有在网络监测函数的开关打开,且 有网络访问发生时,网络监测函数才能够被执行。
[0055] 导出模块220用于导出内核日志和智能移动终端的应用程序安装信息文件:应用 程序安装信息文件packages, xml保存在/data/system/的路径下,记录了智能移动终端上 的每一个应用程序的基本安装信息,包括应用程序的包名、应用程序的安装文件路径、应用 程序的用户标示UserlD等等。
[0056] 查找模块230用于依照网络监测函数记录在内核日志上的用户标示uid,在应用 程序安装信息文件中查找对应的应用程序。
[0057] 综上所述,本发明的一种智能移动终端的应用程序查找方法和系统,通过网络监 测函数对整个智能移动终端进行网络监测,方便快捷准确地查找出进行过网络访问行为的 应用程序,尤其是针对智能移动终端处于休眠状态时,更是能够方便快速准确地查找出有 网络访问行为的应用程序,这大大提高了智能移动终端出厂时的功耗测试的工作效率。所 以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0058] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟 悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因 此,举凡所属【技术领域】中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完 成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【权利要求】
1. 一种智能移动终端的应用程序查找方法,所述智能移动终端采用安卓系统,其特征 在于,所述智能移动终端的应用程序查找方法包括: 在所述智能移动终端的安卓系统中注册一个网络监测函数; 通过所述网络监测函数对所述智能移动终端的网络访问行为进行监测,并将进行网络 访问行为的当前进程的用户标示记录在内核日志中; 导出所述内核日志和所述智能移动终端中的应用程序安装信息文件; 依照所述网络监测函数记录在所述内核日志上的所述用户标示,在所述应用程序安装 信息文件中查找对应的应用程序。
2. 根据权利要求1所述的智能移动终端的应用程序查找方法,其特征在于,所述网络 监测函数是通过nf_register_hooks接口注册在所述安卓系统的netfilter防火墙框架上。
3. 根据权利要求1所述的智能移动终端的应用程序查找方法,其特征在于,在所述智 能移动终端出现网络访问行为时执行所述网络监测函数。
4. 根据权利要求1所述的智能移动终端的应用程序查找方法,其特征在于,所述网络 监测函数配置有一个开关;在所述开关打开,且所述智能移动终端出现网络访问行为时,执 行所述网络监测函数。
5. 根据权利要求1所述的智能移动终端的应用程序查找方法,其特征在于,所述用户 标示保存在身份证书结构内。
6. 根据权利要求5所述的智能移动终端的应用程序查找方法,其特征在于,所述网络 监测函数是通过所述安卓系统内核的标准接口 currenLcred获得当前访问网络的进程的 所述身份证书结构的。
7. 根据权利要求1所述的智能移动终端的应用程序查找方法,其特征在于,所述应用 程序安装信息文件包括应用程序的包名、安装文件路径和用户标示。
8. -种智能移动终端的应用程序查找系统,所述智能移动终端采用安卓系统,其特征 在于,所述智能移动终端的应用程序查找系统包括监测控制模块、导出模块和查找模块; 所述监测控制模块用于通过网络监测函数监测所述智能移动终端的网络访问行为,并 将进行网络访问行为的当前进程的用户标示记录在内核日志上; 导出模块用于导出所述内核日志和所述智能移动终端上的应用程序安装信息文件; 查找模块用于在所述应用程序安装信息文件内查找与记录在所述内核日志中的所述 用户标不对应的应用程序。
9. 根据权利要求8所述的智能移动终端的应用程序查找系统,其特征在于,所述网络 监测函数是注册在所述安卓系统的netfilter防火墙框架上。
【文档编号】G06F11/34GK104268059SQ201410521908
【公开日】2015年1月7日 申请日期:2014年9月30日 优先权日:2014年9月30日
【发明者】耿兴欢, 周玲莉 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1