一种用于对用户终端内的应用进行控制的设备及方法与流程

文档序号:11138668阅读:508来源:国知局
一种用于对用户终端内的应用进行控制的设备及方法与制造工艺

本发明涉及应用控制领域,并且更具体地,涉及一种用于对用户终端内的应用进行控制的设备、方法以及移动终端。



背景技术:

目前,智能化的移动终端已经被广泛应用到各个领域中。人们在工作、学习和生活中,经常需要使用移动终端。移动终端可以像个人计算机一样,具有独立的操作系统。用户可以在移动终端中安装软件应用、游戏应用等第三方服务商所提供的程序,并且可以通过第三方应用程序进行对移动终端功能的扩充。移动终端可以像个人计算机一样通过下载安装应用来拓展移动终端出厂时的基本功能。

随着移动终端的越来越广泛的使用,人们越来越习惯于利用移动终端来实现各种业务的处理。例如,通过移动终端来订购商品、预定火车票、预定飞机票、预定餐馆或建立约车业务等已经成为人们日常生活的一部分。通常,在用户需要通过移动终端进行上述活动时,通常需要运行相应的软件或应用。并且,在相应的软件或应用启动后,需要通过软件或应用的交互界面来输入确认信息或订单信息,从而完成业务确认。

由于各种类型的应用的数量和同一应用的版本越来越多,服务提供商难以对所开发的应用进行实时控制。在遇到应用中的特定功能出现问题或漏洞时,服务提供商需要及时地控制安装在用户终端内应用禁用特定功能以防止对用户造成损失。另外,当遇到需要将应用中的特定功能继续提前触发以对突发事件进行及时响应时,服务提供商需要及时地控制用户终端内应用以提前触发相关功能。

为此,现有技术中需要一种用于对用户终端内的应用进行控制的技术。



技术实现要素:

为了解决上述问题,本发明提供了一种用于对用户终端内的应用进行控制的设备,所述设备包括:

嵌入单元,在要进行控制的应用中嵌入一个或多个事件监控器,所述一个或多个事件监控器中的每个事件监控器对应于所述应用的每个功能,并且在启动要进行控制的应用时运行所述一个或多个事件监控器,其中在所述事件监控器中设置相应功能的触发条件;

设置单元,用于根据来自控制服务器的控制消息来修改所述应用中嵌入的一个或多个事件监控器;

监听单元,用于对所述应用的执行过程进行监听,以确定能够促发所述一个或多个事件监控器中任意一个事件监控器进行动作的事件,并且将所述事件通知给控制单元;以及

控制单元,根据所述事件来运行事件监控器并且根据事件监控器的触发条件来确定是否执行相应功能。

优选地,所述设备还包括接口单元,通过无线网络从控制服务器接收用于所述应用的控制消息。

优选地,所述事件监控器还包括功能标识,用于确定与事件监控器相关的功能。

优选地,所述触发条件包括:延迟触发和延迟时间。

优选地,所述触发条件包括:提前触发和提前时间。

优选地,所述控制消息包括:功能标识和触发条件。

优选地,所述根据来自控制服务器的控制消息来修改所述应用中嵌入的一个或多个事件监控器包括:根据自控制服务器的控制消息中的功能标识确定一个或多个事件监控器中相应的事件监控器,根据所述控制消息中的触发条件来替换所述事件监控器中原有的触发条件。

优选地,所述根据事件监控器的触发条件来确定是否执行相应功能包括:当触发条件中的运行时间晚于当前时间时,不执行相应的功能。

优选地,所述根据事件监控器的触发条件来确定是否执行相应功能包括:当触发条件中的运行时间早于当前时间时,执行相应的功能。

优选地,所述控制服务器根据用户请求来生成所述控制消息。

根据本发明的另一方面,提供一种移动终端,包括或用于执行如上所述的用于对应用进行控制的设备。

根据本发明的另一方面,提供一种用于对用户终端内的应用进行控制的方法,所述方法包括:

在要进行控制的应用中嵌入一个或多个事件监控器,所述一个或多个事件监控器中的每个事件监控器对应于所述应用的每个功能,并且在启动要进行控制的应用时运行所述一个或多个事件监控器,其中在所述事件监控器中设置相应功能的触发条件;

根据来自控制服务器的控制消息来修改所述应用中嵌入的一个或多个事件监控器;

对所述应用的执行过程进行监听,以确定能够促发所述一个或多个事件监控器中任意一个事件监控器进行动作的事件;以及

根据所述事件来运行事件监控器并且根据事件监控器的触发条件来确定是否执行相应功能。

优选地,所述方法还包括通过无线网络从控制服务器接收用于所述应用的控制消息。

优选地,所述事件监控器还包括功能标识,用于确定与事件监控器相关的功能。

优选地,所述触发条件包括:延迟触发和延迟时间。

优选地,所述触发条件包括:提前触发和提前时间。

优选地,所述控制消息包括:功能标识和触发条件。

优选地,所述根据来自控制服务器的控制消息来修改所述应用中嵌入的一个或多个事件监控器包括:根据自控制服务器的控制消息中的功能标识确定一个或多个事件监控器中相应的事件监控器,根据所述控制消息中的触发条件来替换所述事件监控器中原有的触发条件。

优选地,所述根据事件监控器的触发条件来确定是否执行相应功能包括:当触发条件中的运行时间晚于当前时间时,不执行相应的功能。

优选地,所述根据事件监控器的触发条件来确定是否执行相应功能包括:当触发条件中的运行时间早于当前时间时,执行相应的功能。

优选地,所述控制服务器根据用户请求来生成所述控制消息。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为根据本发明优选实施方式的通信系统的结构示意图;

图2为根据本发明优选实施方式的应用存储结构的示意图;

图3为根据本发明优选实施方式的用于对用户终端内的应用进行控制的设备的结构示意图;以及

图4为根据本发明优选实施方式的用于对用户终端内的应用进行控制的方法的流程图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

图1为根据本发明优选实施方式的通信系统100的结构示意图。通信系统100能够实现由控制服务器对用户终端内的应用进行控制的技术方案。用户终端在要进行控制的应用中嵌入一个或多个事件监控器,所述一个或多个事件监控器中的每个事件监控器对应于所述应用的每个功能,并且在启动要进行控制的应用时运行所述一个或多个事件监控器,其中在所述事件监控器中设置相应功能的触发条件。在用户终端从控制服务器接收到控制消息后,根据控制消息来修改所述应用中嵌入的一个或多个事件监控器。随后,用户终端对应用的执行过程进行监听,以确定能够促发一个或多个事件监控器中任意一个事件监控器进行动作的事件。移动终端根据事件来运行事件监控器并且根据事件监控器的触发条件来确定是否执行相应功能。

如图1所示,通信系统100包括:用户终端101-1、101-2、101-3…101-N,网络102以及控制服务器103。优选地,用户终端101-1、101-2、101-3…101-N可以是任意类型的移动终端、固定终端、或便携式终端,包括移动手机、站、单元、设备、多媒体计算机、多媒体平板、因特网节点、通信器、桌面计算机、膝上型计算机、个人数字助理(PDA)、或其任意组合。

优选地,用户终端101-1、101-2、101-3…101-N用于为一个或多个应用提供运行环境,并且对一个或多个应用的运行进行监控。通常,一个或多个应用中的每个应用都具有多个功能。为了实现对应用的控制,控制服务器103可以通过网络102来控制应用中的多个功能。

优选地,用户终端101-1、101-2、101-3…101-N在要进行控制的应用中嵌入一个或多个事件监控器,所述一个或多个事件监控器中的每个事件监控器对应于所述应用的每个功能,并且在启动要进行控制的应用时运行所述一个或多个事件监控器,其中在所述事件监控器中设置相应功能的触发条件。通常,事件监控器还包括功能标识,并且功能标识用于确定与事件监控器相关的功能。优选地,触发条件包括:延迟触发和延迟时间。可替换地,触发条件包括:提前触发和提前时间。优选地,当控制服务器103希望暂时禁止特定功能时,会将触发条件设置为延迟触发并且设置延迟时间为需要暂停的时间。优选地,当控制服务器103希望永久禁止特定功能时,会将触发条件设置为延迟触发并且设置延迟时间无穷大。另一方面,优选地,当控制服务器103希望提前启动特定功能时,会将触发条件设置为提前触发并且设置提前时间为需要提前的时间。优选地,当控制服务器103希望立即启动特定功能时,会将触发条件设置为提前触发并且设置提前时间为当前时间或为0。

优选地,用户终端101-1、101-2、101-3…101-N根据来自控制服务器的控制消息来修改所述应用中嵌入的一个或多个事件监控器。通常,用户终端101-1、101-2、101-3…101-N可以通过有线网络或无线网络从控制服务器103接收用于所述应用的控制消息。优选地,控制服务器103根据用户请求来生成所述控制消息。其中用户请求可以是来自服务提供者的请求。优选地,控制消息可以包括:功能标识和触发条件。其中,根据来自服务器的控制消息来修改所述应用中嵌入的一个或多个事件监控器包括:根据自服务器的控制消息中的功能标识确定一个或多个事件监控器中相应的事件监控器,根据所述控制消息中的触发条件来替换所述事件监控器中原有的触发条件。

优选地,用户终端101-1、101-2、101-3…101-N对所述应用的执行过程进行监听,以确定能够促发所述一个或多个事件监控器中任意一个事件监控器进行动作的事件。

优选地,用户终端101-1、101-2、101-3…101-N根据事件来运行事件监控器并且根据事件监控器的触发条件来确定是否执行相应功能。其中,根据事件监控器的触发条件来确定是否执行相应功能包括:当触发条件中的运行时间晚于当前时间时,不执行相应的功能。可替换地,根据事件监控器的触发条件来确定是否执行相应功能包括:当触发条件中的运行时间早于当前时间时,执行相应的功能。

优选地,网络102根据各种有线或无线通信协议来建立网络连接。网络连接用于为用户终端101-1、101-2、101-3…101-N和控制服务器103建立通信连接,从而形成通信网络。所述通信网络例如是数据网络、无线网络、电话网络、或其任意组合。网络连接可以是数据线、网线、电话线以及无线连接等各种类型的连接。因此,所组成的网络可以是局域网(LAN)、城域网(MAN)、广域网(WAN)、公共数据网(例如因特网)、或任意其他适合的分组交换网络。此外,无线网络可以是例如蜂窝网络、无线保真(WiFi)等。

优选地,控制服务器103用于通过网络102对用户终端101-1、101-2、101-3…101-N中一个或多个应用中每个应用的多个功能进行控制。例如,控制服务器103可以全部禁用、全部启用、监控、部分禁用或部分启用应用中的功能。优选地,控制服务器103通过发送控制消息来修改应用中嵌入的一个或多个事件监控器,从而实现对应用进行控制。

根据本发明的优选实施方式,可以使用黑魔法(BM,Black Magic)为Android应用提供动态扩展和修复能力的技术,如:云修复、云广告、模块解耦、黑科技等。BM由BMAndroidRuntime(运行环境)、BMActivityThread(活动线程)、BlackMagic.apk(安装包)和BMagic文件四部分组成。其中BMAndroidRuntime负责提供核心能力,BMActivityThread负责构建运行环境,BlackMagic.apk负责提供核心接口(BMCore)以及身份认证等管理机制,而最终的功能特性由BMagic文件提供。

优选地,BMAndroidRuntime是专门为BM提供改造Java类和方法的能力(如:钩子Hook)的定制安卓运行环境ART。BMActivityThread用于提供一套判断和启动BM的机制,从而将BlackMagic对第三方应用的性能影响降低到最小,目前所测量的实际延迟仅为1ms。目前采用通过路径快速判断目标应用是否需要BM支持的方式来决定是否对目标应用加载BM文件以进行能力扩展。

BlackMagic.apk是一个非常普通的App,但是必须使用提供商签名,否则无法工作。BlackMagic.apk内部携带基础的BM文件所需要的接口。这种接口是一个API最小集合,即BMCore,用于确保BM对目标应用的内存占用量最低。同时也确保在加载BM文件的时候对目标应用性能影响最小。

BMCore是一个Jar包,用于开发人员开发BM文件时使用。Jar包中提供常用的基本应用程序接口API,使得BM文件能够动态修改Java类和方法以及Hook某些方法。BM文件会由BlackMagic.apk内部集成,便于版本控制和减少BM文件大小。基于BMCore可以开发更多的通用基础库以及扩展库。其中扩展库不是具体功能,而是为实现某些具体功能提供一些必要能力,可以各种模块所共享。

BM文件是实现业务功能的主体,并且每一个BM文件都是由多个BMagic和BMagicKnife组成。其中,一个BMagic可以包括多个BMagicKnif。BMagic是对要进行Hook的类的抽象,并且BMagicKnife是对要进行Hook的方法的一个抽象,因此它们之间是映射关系。某个具体的功能是由多个BMagic通过BMagicKnife获取到信息后以共享的方式实现的。

优选地,根据本发明的优选实施方式,如上所述的设备200可以被包括在移动终端中,或由移动终端来执行。

图2为根据本发明优选实施方式的应用存储结构200的示意图。如图2所示,应用控制器201用于对应用202-1、202-2…202-N进行控制。其中,应用202-1、202-2…202-N中的每一个均具有多个功能,例如,功能1、功能2、功能3…功能4。

优选地,应用控制器201在要进行控制的应用中嵌入一个或多个事件监控器,所述一个或多个事件监控器中的每个事件监控器对应于所述应用的每个功能,并且在启动要进行控制的应用时运行所述一个或多个事件监控器,其中在所述事件监控器中设置相应功能的触发条件。通常,事件监控器还包括功能标识,并且功能标识用于确定与事件监控器相关的功能。优选地,触发条件包括:延迟触发和延迟时间。可替换地,触发条件包括:提前触发和提前时间。优选地,当控制服务器希望暂时禁止特定功能时,会将触发条件设置为延迟触发并且设置延迟时间为需要暂停的时间。优选地,当控制服务器希望永久禁止特定功能时,会将触发条件设置为延迟触发并且设置延迟时间无穷大。另一方面,优选地,当控制服务器希望提前启动特定功能时,会将触发条件设置为提前触发并且设置提前时间为需要提前的时间。优选地,当控制服务器希望立即启动特定功能时,会将触发条件设置为提前触发并且设置提前时间为当前时间或为0。

优选地,应用控制器201根据来自控制服务器的控制消息来修改所述应用中嵌入的一个或多个事件监控器。优选地,控制消息可以包括:功能标识和触发条件。其中,根据来自服务器的控制消息来修改所述应用中嵌入的一个或多个事件监控器包括:根据自服务器的控制消息中的功能标识确定一个或多个事件监控器中相应的事件监控器,根据所述控制消息中的触发条件来替换所述事件监控器中原有的触发条件。

优选地,应用控制器201对所述应用的执行过程进行监听,以确定能够促发所述一个或多个事件监控器中任意一个事件监控器进行动作的事件。应用控制器201根据事件来运行事件监控器并且根据事件监控器的触发条件来确定是否执行相应功能。其中,根据事件监控器的触发条件来确定是否执行相应功能包括:当触发条件中的运行时间晚于当前时间时,不执行相应的功能。可替换地,根据事件监控器的触发条件来确定是否执行相应功能包括:当触发条件中的运行时间早于当前时间时,执行相应的功能。

图3为根据本发明优选实施方式的用于对用户终端内的应用进行控制的设备300的结构示意图。设备300在要进行控制的应用中嵌入一个或多个事件监控器,所述一个或多个事件监控器中的每个事件监控器对应于所述应用的每个功能,并且在启动要进行控制的应用时运行所述一个或多个事件监控器,其中在所述事件监控器中设置相应功能的触发条件。在设备300从控制服务器接收到控制消息后,根据控制消息来修改所述应用中嵌入的一个或多个事件监控器。随后,设备300对应用的执行过程进行监听,以确定能够促发一个或多个事件监控器中任意一个事件监控器进行动作的事件。设备300根据事件来运行事件监控器并且根据事件监控器的触发条件来确定是否执行相应功能。

如图3所示,设备300包括:嵌入单元301、设置单元302、监听单元303、控制单元304以及接口单元305。优选地,嵌入单元301在要进行控制的应用中嵌入一个或多个事件监控器,所述一个或多个事件监控器中的每个事件监控器对应于所述应用的每个功能,并且在启动要进行控制的应用时运行所述一个或多个事件监控器,其中在所述事件监控器中设置相应功能的触发条件。通常,事件监控器还包括功能标识,并且功能标识用于确定与事件监控器相关的功能。优选地,触发条件包括:延迟触发和延迟时间。可替换地,触发条件包括:提前触发和提前时间。优选地,当控制服务器希望暂时禁止特定功能时,会将触发条件设置为延迟触发并且设置延迟时间为需要暂停的时间。优选地,当控制服务器希望永久禁止特定功能时,会将触发条件设置为延迟触发并且设置延迟时间无穷大。另一方面,优选地,当控制服务器希望提前启动特定功能时,会将触发条件设置为提前触发并且设置提前时间为需要提前的时间。优选地,当控制服务器希望立即启动特定功能时,会将触发条件设置为提前触发并且设置提前时间为当前时间或为0。

优选地,设置单元302根据来自控制服务器的控制消息来修改所述应用中嵌入的一个或多个事件监控器。通常,设备300可以通过有线网络或无线网络从控制服务器接收用于所述应用的控制消息。优选地,控制服务器用户请求来生成所述控制消息。其中用户请求可以是来自服务提供者的请求。优选地,控制消息可以包括:功能标识和触发条件。其中,根据来自服务器的控制消息来修改所述应用中嵌入的一个或多个事件监控器包括:根据自服务器的控制消息中的功能标识确定一个或多个事件监控器中相应的事件监控器,根据所述控制消息中的触发条件来替换所述事件监控器中原有的触发条件。

优选地,监听单元303对所述应用的执行过程进行监听,以确定能够促发所述一个或多个事件监控器中任意一个事件监控器进行动作的事件。

优选地,控制单元304根据事件来运行事件监控器并且根据事件监控器的触发条件来确定是否执行相应功能。其中,根据事件监控器的触发条件来确定是否执行相应功能包括:当触发条件中的运行时间晚于当前时间时,不执行相应的功能。可替换地,根据事件监控器的触发条件来确定是否执行相应功能包括:当触发条件中的运行时间早于当前时间时,执行相应的功能。

优选地,接口单元305根据各种有线或无线通信协议来建立网络连接。网络连接用于为用户终端和控制服务器建立通信连接,从而形成通信网络。

优选地,根据本发明的优选实施方式,如上所述的设备300可以被包括在移动终端中,或由移动终端来执行。

图4为根据本发明优选实施方式的用于对用户终端内的应用进行控制的方法400的流程图。方法400在要进行控制的应用中嵌入一个或多个事件监控器,所述一个或多个事件监控器中的每个事件监控器对应于所述应用的每个功能,并且在启动要进行控制的应用时运行所述一个或多个事件监控器,其中在所述事件监控器中设置相应功能的触发条件。在从控制服务器接收到控制消息后,方法400根据控制消息来修改所述应用中嵌入的一个或多个事件监控器。随后,方法400对应用的执行过程进行监听,以确定能够促发一个或多个事件监控器中任意一个事件监控器进行动作的事件。方法400根据事件来运行事件监控器并且根据事件监控器的触发条件来确定是否执行相应功能。

如图4所示,方法400从步骤401处开始。优选地,在步骤401,在要进行控制的应用中嵌入一个或多个事件监控器,所述一个或多个事件监控器中的每个事件监控器对应于所述应用的每个功能,并且在启动要进行控制的应用时运行所述一个或多个事件监控器,其中在所述事件监控器中设置相应功能的触发条件。通常,事件监控器还包括功能标识,并且功能标识用于确定与事件监控器相关的功能。优选地,触发条件包括:延迟触发和延迟时间。可替换地,触发条件包括:提前触发和提前时间。优选地,当控制服务器希望暂时禁止特定功能时,会将触发条件设置为延迟触发并且设置延迟时间为需要暂停的时间。优选地,当控制服务器希望永久禁止特定功能时,会将触发条件设置为延迟触发并且设置延迟时间无穷大。另一方面,优选地,当控制服务器希望提前启动特定功能时,会将触发条件设置为提前触发并且设置提前时间为需要提前的时间。优选地,当控制服务器希望立即启动特定功能时,会将触发条件设置为提前触发并且设置提前时间为当前时间或为0。

优选地,在步骤402,根据来自控制服务器的控制消息来修改所述应用中嵌入的一个或多个事件监控器。通常,方法400可以通过有线网络或无线网络从控制服务器接收用于所述应用的控制消息。优选地,控制服务器用户请求来生成所述控制消息。其中用户请求可以是来自服务提供者的请求。优选地,控制消息可以包括:功能标识和触发条件。其中,根据来自服务器的控制消息来修改所述应用中嵌入的一个或多个事件监控器包括:根据自服务器的控制消息中的功能标识确定一个或多个事件监控器中相应的事件监控器,根据所述控制消息中的触发条件来替换所述事件监控器中原有的触发条件。

优选地,在步骤403,对所述应用的执行过程进行监听,以确定能够促发所述一个或多个事件监控器中任意一个事件监控器进行动作的事件。

优选地,在步骤404,根据事件来运行事件监控器并且根据事件监控器的触发条件来确定是否执行相应功能。其中,根据事件监控器的触发条件来确定是否执行相应功能包括:当触发条件中的运行时间晚于当前时间时,不执行相应的功能。可替换地,根据事件监控器的触发条件来确定是否执行相应功能包括:当触发条件中的运行时间早于当前时间时,执行相应的功能。

已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。

通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1