应用程序处理方法和装置、电子设备、计算机可读存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序处理方法和装置、电子设备、计算机可读存储介质。
背景技术
随着智能终端的发展,应用程序的功能也越来越全面。通过智能终端的应用程序来进行支付的新型移动支付方式,代替了传统的货币支付方式,给人们的生活带来了极大的便利。但是智能终端的运行环境比较复杂,连接的网络环境也比较复杂,这样会导致支付环境也会变得比较复杂。在通过智能终端的应用程序进行支付时,用户无法识别复杂的支付环境,使得支付行为存在极大的安全隐患。
发明内容
本申请实施例提供一种应用程序处理方法和装置、电子设备、计算机可读存储介质,可以提高支付的安全性。
一种应用程序处理方法,包括:
若在电子设备中检测到前台应用程序发起支付指令,则获取所述电子设备所连接网络的网络安全等级;
根据所述网络安全等级获取待冻结应用列表,所述待冻结应用列表中包含一个或多个应用标识;
根据所述待冻结应用列表获取待冻结应用程序;
将所述待冻结应用程序进行冻结。
一种应用程序处理装置,包括:
网络获取模块,用于若在电子设备中检测到前台应用程序发起支付指令,则获取所述电子设备所连接网络的网络安全等级;
列表获取模块,用于根据所述网络安全等级获取待冻结应用列表,所述待冻结应用列表中包含一个或多个应用标识;
应用获取模块,用于根据所述待冻结应用列表获取待冻结应用程序;
应用冻结模块,用于将所述待冻结应用程序进行冻结。
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
若在电子设备中检测到前台应用程序发起支付指令,则获取所述电子设备所连接网络的网络安全等级;
根据所述网络安全等级获取待冻结应用列表,所述待冻结应用列表中包含一个或多个应用标识;
根据所述待冻结应用列表获取待冻结应用程序;
将所述待冻结应用程序进行冻结。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
若在电子设备中检测到前台应用程序发起支付指令,则获取所述电子设备所连接网络的网络安全等级;
根据所述网络安全等级获取待冻结应用列表,所述待冻结应用列表中包含一个或多个应用标识;
根据所述待冻结应用列表获取待冻结应用程序;
将所述待冻结应用程序进行冻结。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中应用程序处理方法的应用环境示意图;
图2为一个实施例中电子设备的内部结构示意图;
图3为一个实施例中应用程序处理方法的流程图;
图4为另一个实施例中应用程序处理方法的流程图;
图5为一个实施例中电子设备对图形编码扫描的示意图;
图6为一个实施例中电子设备的部分架构图;
图7为一个实施例中应用程序处理装置的结构示意图;
图8为另一个实施例中应用程序处理装置的结构示意图;
图9为与本申请实施例提供的电子设备相关的手机的部分结构的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
图1为一个实施例中应用程序处理方法的应用环境示意图。如图1所示,该应用环境包括客户端102和服务器104。客户端102上可以安装应用程序,并在检测到前台应用程序发起支付指令时,获取所连接网络的网络安全等级;根据网络安全等级获取待冻结应用列表,该待冻结应用列表中包含一个或多个应用标识;根据待冻结应用列表中的应用标识获取待冻结应用程序;将待冻结应用程序进行冻结。服务器104可以用于向客户端102推送应用程序处理算法,客户端102根据该应用程序处理算法对应用程序进行处理。其中,客户端102为处于计算机网络最***,主要用于输入用户信息以及输出处理结果的电子设备,例如可以是个人电脑、移动终端、个人数字助理、可穿戴电子设备等。服务器104是用于响应服务请求,同时提供计算服务的设备,例如可以是一台或者多台计算机。可以理解的是,本申请提供的其他实施例中,应用程序处理方法的应用环境可以只包含客户端102。
如图2所示,提供了一种电子设备的内部结构示意图。该电子设备包括通过***总线连接的处理器、存储器和显示屏。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器用于存储数据、程序、和/或指令代码等,存储器上存储至少一个计算机程序,该计算机程序可被处理器执行,以实现本申请实施例中提供的适用于电子设备的应用程序处理方法。存储器可包括磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random-Access-Memory,RAM)等。例如,在一个实施例中,存储器包括非易失性存储介质及内存储器。非易失性存储介质存储有操作***和计算机程序。该计算机程序可被处理器所执行,以用于实现本申请各个实施例所提供的一种应用程序处理方法。内存储器为非易失性存储介质中的操作***和计算机程序提供高速缓存的运行环境。显示屏可以是触摸屏,比如为电容屏或电子屏,用于显示前台进程对应的应用的界面信息,还可以被用于检测作用于该显示屏的触摸操作,生成相应的指令,比如进行前后台应用的切换指令等。
本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。如该电子设备还包括通过***总线连接的网络接口,网络接口可以是以太网卡或无线网卡等,用于与外部的电子设备进行通信,比如可用于同服务器进行通信。
图3为一个实施例中应用程序处理方法的流程图。本实施例中的应用程序处理方法,以运行于图1中的终端或服务器上为例进行描述。如图3所示,该应用程序处理方法包括步骤302至步骤308。其中:
步骤302,若在电子设备中检测到前台应用程序发起支付指令,则获取电子设备所连接网络的网络安全等级。
应用程序(Application,APP)是指电子设备中针对某种应用目的所撰写的软体,电子设备可以通过应用程序实现对用户的需求服务。例如,用户可以通过游戏类应用程序玩游戏,也可以通过视频类应用程序看视频,还可以通过音乐类应用程序播放音乐等。应用程序可以根据运行的状态分为前台应用程序和后台应用程序。前台应用程序是指在电子设备的前台运行的应用程序,前台应用程序可以在与在前台显示并与用户实现交互。后台应用程序是指在电子设备的后台运行的应用程序,后台应用程序一般不能在前台显示并与用户实现交互过程。
一般地,应用程序的应用操作是由一个或多个进程(process)来共同完成,进程是是计算机中的程序关于某数据集合上的一次运行活动,是***进行资源分配和调度的基本单位。同时,一个进程可以对应一个或多个线程,线程是程序中一个单一的顺序控制流程,是进程内一个相对独立的、可调度的执行单元。进程可包括前台进程和后台进程,前台进程即为在电子设备前台运行的进程,后台进程即为在电子设备后台运行的进程。电子设备可以控制前台进程和后台进程的切换,前台进程可切换到后台运行,后台进程也可以切换到前台运行。具体地,可以通过进程池来实现对进程的管理,进程池中可以存放一个或多个进程对应的进程标识。进程标识用于唯一标示一个进程。进程池可以包括前台进程池和后台进程池,前台进程池中包括前台进程对应的进程标识,后台进程池中包括后台进程对应的进程标识。当检测到前台进程和后台进程的运行状态发生改变时,进程池会相应地添加或删除产生变化的进程标识。例如,进程A的进程标识为“0123”,当检测到进程A由后台进程变成前台进程时,可将该进程A的进程标识“0123”从后台进程池中移除,并添加到前台进程池中。
在一个实施例中,用户或电子设备***可以触发对电子设备的操作指令,电子设备通过对操作指令进行响应以完成事件处理。例如,在玩游戏的时候,用户可以通过触摸屏发起方位移动指令,电子设备通过对该方位移动指令进行响应来控制游戏中的角色进行移动。电子设备可以通过支付类应用程序完成支付行为,支付指令就是指用于指示电子设备进行支付操作的命令。例如,用户可以通过对触摸屏的点击操作发起支付指令,也可以通过扫描图形编码发起支付指令。图形编码是指将特定的几何图形按照一定的规律在平面分布以记录数据符号信息的图形,可以但不限于是条形码、二维码等。电子设备可以通过摄像头对图形编码进行扫描,并将扫描到的图形编码进行解析,识别得到图形编码中集成的支付指令。
具体地,电子设备中可以运行多个应用程序,并对运行的应用程序实时进行监听,若监听到前台应用程序发起支付指令,则获取电子设备所连接网络的网络安全等级。网络安全等级是指网络的可靠程度,电子设备可以获取当前所连接的网络,然后对当前所连接的网络进行安全检测,并获取对应的网络安全等级。例如,对所连接网络的MAC(MediaAccess Control,媒体访问控制)地址进行检测,或者对网络的DNS(Domain Name System,域名***)进行检测,得到对应的网络安全等级。
步骤304,根据网络安全等级获取待冻结应用列表,待冻结应用列表中包含一个或多个应用标识。
在一个实施例中,电子设备中可以存储待冻结应用列表,该待冻结应用列表中包含一个或多个需要冻结的应用程序的应用标识。该待冻结应用列表可以是由用户设置的,也可以是由电子设备***自动生成的,还可以是由服务器下发的,在本申请中不做具体限定。具体地,用户可以通过电子设备发起对待冻结应用列表的修改指令,电子设备根据该修改指令对该待冻结应用列表进行修改。其中,修改指令中可以但不限于包括应用标识和对应的修改信息。修改可以包括添加、删除和替换等操作。例如,用户可以通过电子设备界面选定一个应用标识,然后点击删除按钮,则将该应用标识从该待冻结应用列表中进行删除。电子设备还可以对应用程序进行安全性检测,并根据检测结果生成待冻结应用列表。例如,终端在安装应用程序的时候,可以对应用程序进行安全性检测,若安装的该应用程序的应用安全等级高于等级阈值,则认为该应用程序为安全应用程序,将该应用程序的应用标识添加到待冻结应用列表中。终端还可以将各个应用程序的运行数据发送给服务器,服务器接收到终端发送的运行数据之后,对运行数据进行学习和分析,并根据分析结果生成待冻结应用列表,然后将待冻结应用列表推动给终端。
电子设备可以根据各个应用程序的应用安全等级生成多个待冻结应用列表,每个待冻结应用列表对应一个列表标识,然后建立网络安全等级和列表标识的对应关系。应用安全等级是指应用程序的可靠程度,一般地网络安全等级越低,对应的待冻结应用列表中包含的应用标识越多。例如,应用程序可以分为1级、2级、3级等三个应用安全等级,从1级到3级应用程序的可靠程度递减。网络安全等级可以分为A、B、C三个等级,从A级到C级网络的可靠程度递减。则可以生成三个待冻结应用列表,列表标识分别为“list_01”、“list_02”、“list_03”,“list_01”中包含应用安全等级为3级的应用程序对应的应用标识,“list_02”中包含应用安全等级为2级和3级的应用程序对应的应用标识,“list_03”中则包含应用安全等级为1级、2级、3级的应用程序对应的应用标识。网络安全等级A、B、C三个等级,对应的列表标识分别为“list_01”、“list_02”、“list_03”。在获取到当前所连接网络的网络安全等级后,根据该对应关系可以获取对应的列表标识,并根据列表标识获取对应的待冻结应用列表。
步骤306,根据待冻结应用列表获取待冻结应用程序。
待冻结应用列表中包含了多个应用标识,每个应用标识用于唯一标示一个应用程序。电子设备在安装应用程序的时候,会对每个应用程序进行唯一性标识,用于区分不同的应用程序。例如,应用标识可以是应用程序的包名,应用程序的包名可以是com.Android.mms,可以通过函数getPackageName()来获取应用程序的包名。根据待冻结应用列表获取待冻结应用程序,可以遍历待冻结应用列表中的应用标识,然后根据获取的应用标识获取对应的待冻结应用程序。
步骤308,将待冻结应用程序进行冻结。
具体地,应用程序可以被冻结,处于冻结状态的应用程序并没有被关闭,只是暂时不运行。处于冻结状态的应用程序不占用处理器资源进行运行,但是仍然占用电子设备的内存和硬件等资源。电子设备的本地框架层中的资源优先级和限制管理模块可以对应用程序的状态进行标记,通过读取应用程序的状态标记就可以知道应用程序是否处于冻结状态。冻结后的应用程序可以被唤醒,当应用程序被唤醒后,资源优先级和限制管理模块会相应地更改应用程序的状态标记,从而通过对应的状态标记来实现对应用程序冻结状态的管控。
将待冻结应用程序冻结之后,可以检测前台应用程序的支付是否已经完成,若检测到前台应用程序支付成功,则将待冻结应用程序唤醒。另外,为了避免由于支付错误导致待冻结应用程序一直处于冻结状态,可以从待冻结应用程序进入冻结的时刻开始计时,当计时时长超过时长阈值时,将待冻结应用程序唤醒。这样可以保证应用程序的正常运行,避免待冻结应用程序一直处于冻结状态,而无法运行。
上述实施例提供的应用程序处理方法,在检测前台应用程序发起支付指令时,获取电子设备连接的网络的网络安全等级,根据网络安全等级获取对应的待冻结应用列表,并根据待冻结应用列表获取待冻结应用程序,然后将待冻结应用程序进行冻结。这样电子设备在进行支付操作的时候,可以将根据网络环境的安全性将应用程序进行处理,冻结后的应用程序无法运行,这样保证前台应用程序进行支付操作的安全性。
图4为另一个实施例中应用程序处理方法的流程图。本实施例中的应用程序处理方法,以运行于图1中的终端或服务器上为例进行描述。如图4所示,该应用程序处理方法包括步骤402至步骤422。其中:
步骤402,若在电子设备中检测到前台应用程序发起支付指令,则获取电子设备所连接网络的网络安全等级。
在本申请提供的实施例中,电子设备在下载应用程序安装包的时候,安装包中会携带该应用程序的应用标识和应用类型等信息。电子设备在安装应用程序的时候,会将该应用标识和应用类型对应的进行记录。例如,根据应用程序是否具有支付功能进行划分,可以将应用程序分为支付应用类型和非支付应用类型;根据应用程序的功能进行划分,可以将应用程序分为支付应用类型、购物应用类型、工具应用类型、游戏应用类型等,在此不做限定。
该支付指令可以是通过扫描图形编码发起的,具体地,扫描图形编码,识别图形编码中包含的支付指令。图形编码中可以集成文字、数字、ASCII(American Standard Codefor Information Interchange,美国信息交换标准代码)字符等信息,图形编码可以是一维的、二维的,还可以是二维以上的,在此不做限定。图形编码采用特定的几何形状进行排列组合,通过特定的编码形式将信息进行集成。以二维码为例,二维码可以采用PDF417(Portable Data File,便携数据文件)码进行编码,在PDF417码中每一符号字符都是由4个条和4个空构成,组成条形码的最窄条或空称为一个模块,则上述的4个条和4个空的总模块数就为17。图形编码中集成的可以是纯文本内容,也可以是对应用程序进行操作的操作指令。若图形编码中集成的是纯文本内容,那么电子设备扫描该图形编码后,只能获取到纯文本信息,得到的该纯文本信息可以显示在电子设备的界面上。若图形编码中集成的是操作指令,则电子设备在扫描该图形编码后,可以直接根据图形编码中的操作指令进行相应的操作。例如,在扫描图形编码后,获取图形编码中的操作指令,该操作指令可以是用于指示电子设备进行支付操作、连接Wifi(Wireless Fidelity,无线保真)、安装应用程序等,在此不做具体限定。电子设备在扫描图形编码后,若图形编码中集成的是操作指令,则该操作指令必须是由电子设备中的应用程序来执行的,在得到该操作指令之后就需要电子设备打开相应的应用程序,从而通过该应用程序对操作指令进行处理。例如,若操作指令用于指示电子设备连接Wifi,那么扫描图形编码后,就需要电子设备跳转到Wifi连接应用的界面,从而发起对Wifi的连接操作。图5为一个实施例中电子设备对图形编码扫描的示意图。如图5所示,电子设备502上可以安装摄像头,然后通过摄像头采集图形编码504,并对图形编码504进行扫描识别,通过识别图形编码504中的支付指令发起支付操作。
步骤404,获取电子设备所连接网络的网络类型。
在一个实施例中,网络类型是指电子设备所连接的网络的类型。具体地,电子设备连接的网络可以包括Wifi(Wireless Fidelity,无线保真)、2G数据网络、3G数据网络、4G数据网络等类型。以Android***为例,NetworkInfo类包含了对Wifi和数据网络两种网络模式连接的详细描述,通过getState()方法可以获取当前网络的连接状态。
步骤406,根据网络类型和网络安全等级获取待冻结应用列表。
可以理解的是,不同的网络类型,进行安全性检测的方法不同。同时不同的应用程序所依赖的网络类型不同,一些不安全的应用程序可能会针对不同的网络类型的漏洞去窃取数据。例如,应用程序可以专门针对数据网络的漏洞来窃取数据,还可以专门针对Wifi的漏洞来窃取数据。因此,电子设备在生成待冻结应用列表的时候,可以根据不同的网络类型和网络安全等级生成不同的待冻结应用列表。电子设备可以在各个网络类型的网络环境下对应用程序进行安全性检测,并建立网络类型、网络安全等级和待冻结应用列表的对应关系。
步骤408,获取前台应用程序的前台应用优先级,根据待冻结应用列表获取前台应用优先级对应的待冻结应用程序。
在一个实施例中,应用优先级是指应用程序的重要等级,电子设备可以预先设置建立应用程序的应用标识和应用优先级的对应关系。应用优先级可以根据应用程序的属性进行设置,也可以根据资源使用情况进行设置,还可以根据其他标准来设置应用程序的优先级,在此不进行具体限定。例如,可以将***级应用程序设置为较高的优先级,第三方应用程序设置为较低的优先级。或者可以根据应用程序的类型来对应用程序的优先级进行设置,即时通讯类的应用程序设置为较高的优先级,工具类的应用程序设置为较低的优先级。具体地,待冻结应用列表中可以存储一个或多个应用标识以及对应的应用优先级,应用标识和应用优先级为一一对应关系。首先获取前台应用程序的前台应用优先级,然后获取待冻结应用列表中对应应用优先级低于前台应用优先级的应用标识,根据获取的应用标识获取待冻结应用程序。
步骤410,将待冻结应用程序进行冻结。
将待冻结应用程序被认为是安全性较低的应用程序,将待冻结应用程序进行冻结之后,待冻结应用程序就无法在继续运行。在前台应用程序进行支付的过程中,可以保证支付环境的安全性。另外,若在前台应用程序进行支付的过程中检测到启动应用程序的指令,则可以获取该被启动应用程序对应的被启动应用标识和被启动应用优先级,若该被启动应用标识在待冻结应用列表中存在,且被启动应用优先级低于前台应用优先级,则将该被启动应用程序进行冻结。
以Android***中,实现应用程序的冻结和唤醒的方法有多种。以其中一种为例,可以通过pm(package manager,包管理)命令来实现,在pm命令中,可以通过冻结命令pmdisable[–user USER_ID]PACKAGE_OR_COMPONENT将应用程序设置为冻结状态,然后还可以通过解冻命令pm enable[–user USER_ID]PACKAGE_OR_COMPONENT将处于冻结状态的应用程序进行唤醒,通过冻结列表查询命令pm list packages–d获取处于冻结状态的应用程序列表,以查看处于冻结状态的应用程序。可以理解的是,本申请中以Android操作***为例对应用程序处理方法进行说明,但是本申请的应用程序处理方法并不仅限于在Android***中实现,还可以应用在IOS(IPhone Operating System)、塞班、Windows、MAC OS(Macintosh Operating System)等操作***中。
步骤412,获取除前台应用程序和待冻结应用程序之外的第三方应用程序。
电子设备中的应用程序可以分为***应用程序和第三方应用程序,***应用程序是指电子设备自带的应用程序,第三方应用程序是指用户自己下载并安装在电子设备中的应用程序。一般认为***应用程序是安全等级和优先级较高,第三方应用程序的安全等级和优先级比较低。
步骤414,控制所获取的第三方应用程序进入资源限制状态,其中,处于资源限制状态的应用程序在运行时对电子设备的资源占用率小于占用率阈值。
为防止第三方应用程序在运行过程中过多的占用电子设备的资源,影响前台应用程序的操作,则可以控制第三方应用程序进入一种资源限制状态。其中,处于资源限制状态的应用程序在运行时对电子设备的资源占用率小于占用率阈值。
在一个实施例中,可以首先获取电子设备的资源总占用率,根据资源总占用率来控制所获取的第三方应用程序进入资源限制状态。具体地,可以将资源总占用率与总占用率阈值进行比较,若资源总占用率超过总占用率阈值,则认为电子设备的可用资源比较少,则可以控制所获取的第三方应用程序进入资源限制状态。其中,该总占用率阈值大于占用率阈值。第三方应用程序处于资源限制状态时,运行过程中的资源占用率不能超过占用率阈值,这样可以控制第三方应用程序对电子设备资源的使用,从而节省电子设备的资源。例如,当CPU总占用率超过50%时,控制第三方应用程序在运行时的CPU占用率不能超过5%,以减少第三方应用程序对CPU的过度消耗。在手机***中可以通过cgroups(controlgroups,控制组)来控制第三方应用程序的CPU、内存、IO等资源占用率,即控制所获取的第三方应用程序进入资源限制状态。
在一个实施例中,建立资源总占用率和资源限制级别的对应关系。当资源总占用率超过总占用率阈值时,根据资源总占用率获取资源限制级别,然后控制所获取的第三方应用程序进入资源限制级别对应的资源限制状态。具体地,获取电子设备的资源总占用率,并根据资源总占用率获取资源限制级别;控制所获取的第三方应用程序进入资源限制级别对应的资源限制状态。例如,总占用率阈值为50%,则当资源总占用率超过50%时,将资源总占用率划分为50%~60%、60%~80%、80%~100%等三个占用级别,然后分别对应轻度资源限制级别、普通资源限制级别和深度资源限制级别等三个等级,根据资源总占用率可以获取对应的资源限制级别,不同的资源限制级别对应的占用率阈值不同。
在其他实施例中,还可以根据第三方应用程序的应用优先级来控制对资源的占用情况,预先建立应用优先级与资源限制级别的对应关系,然后根据第三方应用程序的应用优先级来控制进入资源限制状态的资源限制级别。资源限制级别是指对应用程序使用的资源进行限制的程度。具体可以包括:获取所获取的第三方应用程序对应的应用优先级,根据应用优先级获取对应的资源限制级别;控制所获取的第三方应用程序进入资源限制级别对应的资源限制状态。
可以理解的是,不同的应用程序可能依赖的资源会有所不同,则可以根据第三方应用程序所依赖的资源类型来控制第三方应用程序的资源限制类型。例如,游戏类应用的CPU占用率较高,视频类应用的网络资源占用较高。具体地,获取第三方应用程序的资源占用历史数据,根据资源占用历史数据获取第三方应用程序对应的依赖资源类型,并根据依赖资源类型和资源限制级别控制所获取的第三方应用程序进入资源限制状态。其中,资源占用历史数据是指应用程序历史占用资源的数据,依赖资源类型即为应用程序运行时所依赖的资源的类型。
步骤416,若检测到前台应用程序调用支付应用程序的支付功能,则检测支付应用程序是否处于冻结状态。
在本实施例中,应用程序进行支付的支付方式可以分为主动支付方式和被动支付方式,其中主动支付方式是指本身具有支付功能的应用程序,被动支付方式是指需要调用其他应用程序的支付功能来完成支付的应用程序。例如,购物类应用程序需要用户对购买的商品进行支付,如果该购物类应用程序本身不具有支付功能的话,只能调用其他支付类应用程序的支付功能来完成支付,则该购物类应用程序就属于被动支付方式。如果该购物类应用程序本身具有支付功能,可以通过本身的支付功能来完成支付,而不需要调用其他应用程序来完成支付的话,则该购物类应用程序就属于主动支付方式。
若前台应用程序本身不具有支付功能的话,当前台应用程序发起支付指令之后,只能通过调用其他应用程序的支付功能来完成支付。为前台应用程序提供支付功能的应用程序即为支付应用程序。支付指令中包含支付应用程序的支付应用标识,当前台应用程序发起支付指令之后,电子设备可以根据支付指令中的支付应用标识检测该支付应用程序是否处于冻结状态。具体地,处于冻结状态的应用程序可以通过冻结列表进行记录,冻结列表中记录了应用标识,存储在冻结列表中的应用标识对应的应用程序是处于冻结状态的。检测支付应用程序是否处于冻结状态具体可以包括:获取支付指令中包含的支付应用标识,遍历冻结列表中的应用标识,若支付应用标识与冻结列表中的应用标识相匹配,则该支付应用标识对应的支付应用程序处于冻结状态。
步骤418,若支付应用程序处于冻结状态,则将支付应用程序进行解冻。
可以理解的是,具有支付功能的支付类应用程序会提供一个支付接口,以使其他的非支付类应用程序可以通过调用该支付接口,调用支付类应用程序的支付功能。支付应用程序的支付方式为第一支付方式,处于冻结状态的支付应用程序无法运行,也无法接收其他应用程序发送的信号。因此,为了响应支付指令,必须将支付应用程序唤醒。具体地,前台应用程序发起支付指令之后,如果检测到用于响应支付指令的支付应用程序处于冻结状态,则需要将该支付应用程序唤醒后才能进行处理。
步骤420,若检测到前台应用程序支付成功或解冻时长超过时长阈值,则将解冻后的支付应用程序进行冻结,其中,解冻时长是指从支付应用程序解冻的时刻到当前时刻的时长。
在一个实施例中,支付应用程序被唤醒之后,可以检测前台应用程序是否支付成功,若前台应用程序支付成功,则将解冻后的支付应用程序进行冻结。另外,为了防止支付应用程序出现支付错误而导致支付应用程序长期处于唤醒状态而占用设备资源,可以对支付应用程序唤醒的时间进行计时。若解冻时长超过时长阈值,则将解冻后的支付应用程序进行冻结。
步骤422,若检测到电子设备中的目标应用程序被修改,则根据被修改的目标应用程序对待冻结应用列表进行更新。
在检测到目标应用程序被修改时,根据都被修改的目标应用程序对待冻结应用列表进行更新。对目标应用程序进行修改包括对安装目标应用程序、对目标应用程序进行修改以及删除目标应用程序。具体地,当电子设备安装目标应用程序时,电子设备会对所安装的目标应用程序进行安全性检测,并根据目标应用程序的安全性检测结果更新待冻结应用列表。当电子设备检测到目标应用程序更新时,电子设备会对更新后的目标应用程序进行安全性检测,并根据更新后的目标应用程序的安全性检测结果更新待冻结应用列表。当电子设备检测到目标应用程序被删除时,电子设备会获取所删除的目标应用程序的删除应用标识,并将删除应用标识从待冻结应用列表中进行删除。可以理解的是,用户还可以对待冻结应用列表进行修改,用户可以通过电子设备发起对待冻结应用列表的修改指令,电子设备根据该修改指令对该待冻结应用列表进行修改。其中,修改指令中可以但不限于包括应用标识和对应的修改信息。修改可以包括添加、删除和替换等操作。例如,用户可以通过电子设备界面选定一个应用标识,然后点击删除按钮,则将该应用标识从该待冻结应用列表中进行删除。
上述实施例提供的应用程序处理方法,在检测前台应用程序发起支付指令时,获取电子设备连接的网络的网络安全等级和网络类型,根据网络安全等级和网络类型获取对应的待冻结应用列表,并根据待冻结应用列表获取待冻结应用程序,然后将待冻结应用程序进行冻结。这样电子设备在进行支付操作的时候,可以将根据网络环境的安全性将应用程序进行处理,冻结后的应用程序无法运行,这样保证前台应用程序进行支付操作的安全性。另外将除前台应用程序和待冻结应用程序之外的第三方应用程序进行资源限制,可以保证前台应用程序的运行效率,提高支付效率。
应该理解的是,虽然图3和图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3和图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种电子设备的部分架构图。其中,该电子设备的架构***中包括JAVA空间层61、本地框架层62以及内核(Kernel)空间层63。JAVA空间层61上可包含策略应用程序610,电子设备可通过该策略应用程序610来发起对各个应用程序的冻结和解冻策略,从而实现对电子设备中的各个应用程序实现冻结和解冻的操作。例如,通过策略应用程序610来判断后台耗电的应用程序,并发起对该后台耗电的应用程序做冻结操作。本地框架层62中包含资源优先级和限制管理模块620及平台冻结管理模块622。电子设备可通过资源优先级和限制管理模块620来实时维护应用程序的优先级和对应的资源组,根据上层的需求来调整应用程序的优先级和资源组,从而达到优化性能,节省功耗的作用。电子设备可通过平台冻结管理模块622将后台可以冻结的任务按照进入冻结时间的长短,分配到对应预设的不同层次的冻结层,可选地,该冻结层可包括:CPU限制睡眠模式、CPU冻结睡眠模式、进程深度冻结模式。内核空间层63中包括UID管理模块630、Cgroup模块632、超时冻结退出模块634、Binder管控模块636、进程内存回收模块638。其中,UID管理模块630可以基于应用程序的用户身份标识(User Identifier,UID)来管理第三方应用程序的资源或进行冻结。相比较于基于进程身份标识(Process Identifier,PID)来进行进程管控,通过UID更便于统一管理一个用户的应用的资源。Cgroup模块632用于提供一套完善的中央处理器(Central Processing Unit,CPU)、CPUSET、内存(memory)、输入/输出(input/output,I/O)和Net相关的资源限制机制。超时冻结退出模块634用于解决出现冻结超时场景产生的异常。Binder管控模块636用于实现后台binder通信的优先级的控制。进程内存回收模块638用于实现进程的深度冻结模式,当第三方应用程序长期处于冻结状态的时候,可以释放进程的文件区,从而达到节省内存的模块,也加快该应用程序在下次启动时的速度。通过上述的架构,可实现本申请各个实施例中的应用程序处理方法。
图7为一个实施例中应用程序处理装置的结构示意图。如图7所示,该应用程序处理装置700包括网络获取模块702、列表获取模块704、应用获取模块706和应用冻结模块708。其中:
网络获取模块702,用于若在电子设备中检测到前台应用程序发起支付指令,则获取所述电子设备所连接网络的网络安全等级。
列表获取模块704,用于根据所述网络安全等级获取待冻结应用列表,所述待冻结应用列表中包含一个或多个应用标识。
应用获取模块706,用于根据所述待冻结应用列表获取待冻结应用程序。
应用冻结模块708,用于将所述待冻结应用程序进行冻结。
上述实施例提供的应用程序处理装置,在检测前台应用程序发起支付指令时,获取电子设备连接的网络的网络安全等级,根据网络安全等级获取对应的待冻结应用列表,并根据待冻结应用列表获取待冻结应用程序,然后将待冻结应用程序进行冻结。这样电子设备在进行支付操作的时候,可以将根据网络环境的安全性将应用程序进行处理,冻结后的应用程序无法运行,这样保证前台应用程序进行支付操作的安全性。
图8为另一个实施例中应用程序处理装置的结构示意图。如图8所示,该应用程序处理装置800包括网络获取模块802、列表获取模块804、应用获取模块806、应用冻结模块808、资源限制模块810、应用解冻模块812和列表更新模块814。其中:
网络获取模块802,用于若在电子设备中检测到前台应用程序发起支付指令,则获取所述电子设备所连接网络的网络安全等级。
列表获取模块804,用于根据所述网络安全等级获取待冻结应用列表,所述待冻结应用列表中包含一个或多个应用标识。
应用获取模块806,用于根据所述待冻结应用列表获取待冻结应用程序。
应用冻结模块808,用于将所述待冻结应用程序进行冻结。
资源限制模块810,用于获取除所述前台应用程序和待冻结应用程序之外的第三方应用程序;控制所获取的第三方应用程序进入资源限制状态,其中,处于所述资源限制状态的应用程序在运行时对电子设备的资源占用率小于占用率阈值。
应用解冻模块812,用于若检测到所述前台应用程序调用支付应用程序的支付功能,则检测所述支付应用程序是否处于冻结状态;若所述支付应用程序处于冻结状态,则将所述支付应用程序进行解冻。
上述实施例提供的应用程序处理装置,在检测前台应用程序发起支付指令时,获取电子设备连接的网络的网络安全等级和网络类型,根据网络安全等级和网络类型获取对应的待冻结应用列表,并根据待冻结应用列表获取待冻结应用程序,然后将待冻结应用程序进行冻结。这样电子设备在进行支付操作的时候,可以将根据网络环境的安全性将应用程序进行处理,冻结后的应用程序无法运行,这样保证前台应用程序进行支付操作的安全性。另外将除前台应用程序和待冻结应用程序之外的第三方应用程序进行资源限制,可以保证前台应用程序的运行效率,提高支付效率。
在一个实施例中,列表更新模块814,用于若检测到电子设备中的目标应用程序被修改,则根据被修改的目标应用程序对所述待冻结应用列表进行更新。
在一个实施例中,网络获取模块802还用于获取所述电子设备所连接网络的网络类型。
在一个实施例中,列表获取模块804还用于根据所述网络类型和网络安全等级获取待冻结应用列表。
在一个实施例中,应用获取模块806还用于获取所述前台应用程序的前台应用优先级,根据所述待冻结应用列表获取所述前台应用优先级对应的待冻结应用程序。
在一个实施例中,应用冻结模块808还用于若检测到所述前台应用程序支付成功或解冻时长超过时长阈值,则将所述解冻后的支付应用程序进行冻结,其中,所述解冻时长是指从所述支付应用程序解冻的时刻到当前时刻的时长。
上述应用程序处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将应用程序处理装置按照需要划分为不同的模块,以完成上述应用程序处理装置的全部或部分功能。
本申请实施例中提供的应用程序处理装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行上述实施例提供的应用程序处理方法。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的应用程序处理方法。
本申请实施例还提供了一种电子设备。如图9所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该电子设备可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑、穿戴式设备等任意终端设备,以电子设备为手机为例:
图9为与本申请实施例提供的电子设备相关的手机的部分结构的框图。参考图9,手机包括:射频(Radio Frequency,RF)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、无线保真(wireless fidelity,WiFi)模块970、处理器980、以及电源990等部件。本领域技术人员可以理解,图9所示的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,RF电路910可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器980处理;也可以将上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(Global System ofMobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器920可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据手机的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元930可用于接收输入的数字或字符信息,以及产生与手机900的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括触控面板931以及其他输入设备932。触控面板931,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板931上或在触控面板931附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,触控面板931可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板931。除了触控面板931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元940可包括显示面板941。在一个实施例中,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板941。在一个实施例中,触控面板931可覆盖显示面板941,当触控面板931检测到在其上或附近的触摸操作后,传送给处理器980以确定触摸事件的类型,随后处理器980根据触摸事件的类型在显示面板941上提供相应的视觉输出。虽然在图9中,触控面板931与显示面板941是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板931与显示面板941集成而实现手机的输入和输出功能。
手机900还可包括至少一种传感器950,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在手机移动到耳边时,关闭显示面板941和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,手机还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。
音频电路960、扬声器961和传声器962可提供用户与手机之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经RF电路910可以发送给另一手机,或者将音频数据输出至存储器920以便后续处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块970,但是可以理解的是,其并不属于手机900的必须构成,可以根据需要而省略。
处理器980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。在一个实施例中,处理器980可包括一个或多个处理单元。在一个实施例中,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等;调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。
手机900还包括给各个部件供电的电源990(比如电池),优选的,电源可以通过电源管理***与处理器980逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
在一个实施例中,手机900还可以包括摄像头、蓝牙模块等。
在本申请实施例中,该电子设备所包括的处理器980执行存储在存储器上的计算机程序时实现上述实施例提供的应用程序处理方法的步骤。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。