CN109002323A - 一种数据处理方法、装置及电子设备 - Google Patents
一种数据处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109002323A CN109002323A CN201810676020.9A CN201810676020A CN109002323A CN 109002323 A CN109002323 A CN 109002323A CN 201810676020 A CN201810676020 A CN 201810676020A CN 109002323 A CN109002323 A CN 109002323A
- Authority
- CN
- China
- Prior art keywords
- instruction
- operational order
- program
- system service
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种数据处理方法、装置及电子设备,该方法包括:获得电子设备的***服务进程发送至应用程序进程的操作指令,其中,操作指令为:指示应用程序执行操作指令对应的操作的指令;判断操作指令是否为预设拦截类型的指令;当判断结果为是时,基于预先挂钩的消息分发对象,执行不发送操作指令至应用程序进程的操作。以实现对***服务进程所发送的指令进行选择过滤,使得应用程序可以实现选择性执行***服务进程所发送的指令。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据处理方法、装置及电子设备。
背景技术
目前,电子设备的framework层(应用程序框架层)里直接发送到应用程序的指令,由于应用程序无法直接获取到上述一类的指令,因此上述一类的指令应用程序都是必须执行的,例如,电子设备的操作***的***服务所在进程即System Server进程中的ActivityManagerService(AMS),向应用程序发送的任何类型的指令,该应用程序都是必须执行的。
然而,对于framework层直接发送到应用程序的某些类型的指令,可能会对应用程序带来负面影响,例如:在一定程度上破坏应用程序的稳定性,对于上述类型的指令,开发者并不希望该应用程序执行。举例而言:指示应用程序崩溃的指令,即crash指令,当SystemServer进程中的ActivityManagerService检测到应用程序的某些异常逻辑时,则会主动通过消息分发对象,向应用程序发送crash指令,当应用程序接收到上述crash指令时,应用程序则崩溃退出,这在一定程度上会影响应用程序的稳定性,进而对使用上述应用程序的用户造成困扰,降低用户体验。其中,上述崩溃可以称为RemoteServiceException崩溃。
发明内容
本发明实施例的目的在于提供一种数据处理方法、装置及电子设备,以实现对***服务进程所发送的指令进行选择过滤,使得应用程序可以实现选择性执行***服务进程所发送的指令。具体技术方案如下:
一方面,本发明实施例提供了一种数据处理方法,所述方法包括:
获得电子设备的***服务进程发送至应用程序进程的操作指令,其中,所述操作指令为:指示应用程序执行所述操作指令对应的操作的指令;
判断所述操作指令是否为预设拦截类型的指令;
当判断结果为是时,基于预先挂钩的消息分发对象,执行不发送所述操作指令至所述应用程序进程的操作。
可选地,所述预设拦截类型为:预先设置的所述消息分发对象中所包含的所需进行拦截的指令类型。
可选地,所述获得电子设备的***服务进程发送至应用程序进程的操作指令的步骤,包括:
基于预先挂钩的所述消息分发对象,获得电子设备的***服务进程发送至应用程序进程的操作指令。
可选地,在所述基于预先挂钩的消息分发对象,执行不发送所述操作指令至所述应用程序进程的操作的步骤之后,所述方法还包括:
通知所述***服务进程所述应用程序已执行所述操作指令对应的操作。
可选地,在所述获得电子设备的***服务进程发送至应用程序进程的操作指令的步骤之前,所述方法还包括:
基于Java反射机制,对所述消息分发对象进行挂钩。
可选地,所述判断所述操作指令是否为预设拦截类型的指令的步骤,包括:
判断所述操作指令,是否为所述***服务进程所发送的指示所述应用程序崩溃的指令。
另一方面,本发明实施例提供了一种数据处理装置,所述装置包括:
获得模块,用于获得电子设备的***服务进程发送至应用程序进程的操作指令,其中,所述操作指令为:指示应用程序执行所述操作指令对应的操作的指令;
判断模块,用于判断所述操作指令是否为预设拦截类型的指令;
处理模块,用于当判断结果为是时,基于预先挂钩的消息分发对象,执行不发送所述操作指令至所述应用程序的操作。
可选地,所述预设拦截类型为:预先设置的所述消息分发对象中所包含的所需进行拦截的指令类型。
可选地,所述获得模块,具体用于
基于预先挂钩的所述消息分发对象,获得电子设备的***服务进程发送至应用程序进程的操作指令。
可选地,所述装置还包括:
通知模块,用于在所述基于预先挂钩的消息分发对象,执行不发送所述操作指令至所述应用程序进程的操作之后,通知所述***服务进程所述应用程序已执行所述操作指令对应的操作。
可选地,所述装置还包括:
挂钩模块,用于在所述获得电子设备的***服务进程发送至应用程序进程的操作指令之前,基于Java反射机制,对所述消息分发对象进行挂钩。
可选地,所述判断模块,具体用于
判断所述操作指令,是否为所述***服务进程所发送的指示所述应用程序崩溃的指令。
另一方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的计算机程序时,实现本发明实施例所提供的任一所述的数据处理方法步骤。
另一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的任一所述的数据处理方法步骤。
本发明实施例中,获得电子设备的***服务进程发送至应用程序进程的操作指令,其中,操作指令为:指示应用程序执行操作指令对应的操作的指令;判断操作指令是否为预设拦截类型的指令;当判断结果为是时,基于预先挂钩的消息分发对象,执行不发送操作指令至应用程序进程的操作。可见,应用本发明实施例,可以实现对***服务进程发送至应用程序进程的操作指令拦截,并进行筛选,当操作指令为预设拦截类型的指令时,不发送操作指令至应用程序进程,实现对***服务进程所发送的指令进行选择过滤,使得应用程序可以实现选择性执行***服务进程所发送的指令。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种数据处理方法的流程示意图;
图2为本发明实施例所提供的一种数据处理方法的另一流程示意图;
图3为本发明实施例所提供的一种数据处理装置的结构示意图;
图4为本发明实施例所提供的一种数据处理装置的另一结构示意图;
图5为本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,电子设备所安装的应用程序被启动或一功能被启动时,该应用程序可以生成一功能启动指令,并将该功能启动指令发送至电子设备的***服务所在进程,具体的可以是***服务所在进程的功能管理服务,此时,功能管理服务可以通过消息分发对象向该应用程序进程,发送该功能启动指令对应的功能响应指令,以使该应用程序响应该功能响应指令,执行该功能响应指令对应的操作。其中,本发明实施例中,可以称上述电子设备的***服务所在进程为:电子设备的***服务进程。
其中,上述功能管理服务通过消息分发对象向该应用程序进程,发送该功能启动指令对应的功能响应指令的过程,可以是:功能管理服务检测上述功能启动指令是否触发了异常逻辑,当检测上述功能启动指令未触发异常逻辑,功能管理服务通过消息分发对象向该应用程序进程,发送该功能启动指令对应的第一功能响应指令,应用程序响应上述第一功能响应指令,以执行其被触发的功能对应的操作,例如:上述被触发的功能为界面跳转功能,上述被触发的功能对应的操作为:跳转界面。当检测上述功能启动指令触发异常逻辑,此时,功能管理服务通过消息分发对象向该应用程序进程,发送该功能启动指令对应的第二功能响应指令,应用程序响应上述第二功能响应指令,其中,上述第二功能响应指令为指示应用程序崩溃的指令,应用程序崩溃退出,即结束应用程序自身运行的进程。其中,上述异常逻辑为:电子设备的***服务所在进程的功能管理服务认为应用程序出错的逻辑。
在一种情况中,该电子设备的操作***可以为安卓Android***。当该电子设备所安装的应用程序被启动或一功能被启动时,该应用程序可以生成一功能启动指令;应用程序将该功能启动指令,发送至电子设备的***服务所在进程的功能管理服务,具体的可以是:应用程序将该功能启动指令发送至电子设备的System Server进程的AMS(ActivityManagerService,活动管理服务);进而,AMS检测上述功能启动指令是否触发了异常逻辑,当检测上述功能启动指令未触发异常逻辑时,AMS通过消息分发对象向应用程序进程,发送功能启动指令对应的第一功能响应指令,该应用程序响应上述第一功能响应指令,执行其被触发的功能对应的操作;当检测上述功能启动指令触发异常逻辑,AMS通过消息分发对象向应用程序进程,发送功能启动指令对应的第二功能响应指令,其中,上述第二功能响应指令为指示应用程序崩溃的指令,即为crash指令,应用程序获得上述crash指令,即崩溃退出,也就是说应用程序结束自身的进程。
其中,在Android***中,上述消息分发对象可以是ActivityThread内的H对象。ActivityThread:是应用程序的主线程,即UI线程,应用程序的入口就是从它的main()函数入口的。其是客户端(即应用程序)与AMS交互的一个最主要的类,其内部有ApplicationThread类(继承自IBinder)和H类(继承自Handler类),通过上述ApplicationThread类和H类共同负责应用程序与AMS之间的跨进程通信。
在Android***中,上述System Server进程位于framework层,framework层又称为应用程序框架层,是应用程序所使用的API(Application Programming Interface,应用程序编程接口)框架,为应用层的应用程序提供各种接口API,包括各种组件和服务来支持安卓的开发,包括ActivityManagerService以及WindowManagerService等。
在Android***中,上述AMS管理所有应用程序中的Activity,其掌握所有Activity的情况,具有调度Activity生命周期的能力,简而言之,其用于管理和掌控所有的应用程序中的Activity。其中,上述应用程序可以生成一功能启动指令,并将上述功能启动指令发送至电子设备的System Server进程的AMS,即是告知AMS该应用程序需要启动一个Activity。
基于上述数据传输流程,本发明实施例提供了一种数据处理方法、装置及电子设备,以实现对***服务进程所发送的指令进行选择过滤,使得应用程序可以实现选择性执行***服务进程所发送的指令。
可以理解的是,本发明实施例所提供的数据处理方法,可以应用于电子设备,该电子设备可以为任一类型,在此不做赘述。
如图1所示,本发明实施例所提供的数据处理方法,可以包括如下步骤:
S101:获得电子设备的***服务进程发送至应用程序进程的操作指令;
其中,该操作指令为:指示应用程序执行操作指令对应的操作的指令;上述应用程序进程为应用程序的进程;
其中,当应用程序被启动或其功能被启动时,需要生成并向***服务进程的功能管理服务发送功能启动指令,进而***服务进程的功能管理服务基于上述功能启动指令,生成并通过预先挂钩的消息分发对象,向应用程序发送上述功能启动指令对应的功能响应指令。其中,上述功能启动指令可以认为为:本发明实施例中上述提到的操作指令。本发明实施例中,在上述操作指令被发送至应用程序进程之前,拦截获得上述操作指令,并执行后续的数据处理流程。
在一种实现方式中,上述获得电子设备的***服务进程发送至应用程序进程的操作指令的步骤,可以包括:
基于预先挂钩的消息分发对象,获得电子设备的***服务进程发送至应用程序进程的操作指令。
本发明实施例中,利用预先挂钩的消息分发对象,替代原始的消息分发对象,即替代未挂钩的消息分发对象。使得电子设备的***服务进程的功能管理服务,在向应用程序进程发送操作指令时的发送方式,可以是:功能管理服务通过预先挂钩的消息分发对象,向应用程序进程发送操作指令。
其中,在功能管理服务通过预先挂钩的消息分发对象,向应用程序进程发送操作指令的过程中,利用预先挂钩的消息分发对象,获得电子设备的***服务进程发送至应用程序进程的操作指令,并执行后续的数据处理流程。而非直接将操作指令发送至应用程序。
在一种情况中,电子设备的操作***为Android***,此时,上述预先挂钩的消息分发对象可以为:预先挂钩的H对象。其中,上述H对象属于ActivityThread。其中,电子设备的操作***为Android***,此时,上述获得电子设备的***服务进程发送至应用程序进程的操作指令,可以是:基于预先挂钩的H对象,获得电子设备的System Server进程的AMS发送至应用程序进程的操作指令。
S102:判断操作指令是否为预设拦截类型的指令;
S103:当判断结果为是时,基于预先挂钩的消息分发对象,执行不发送操作指令至应用程序进程的操作。
上述预先挂钩的消息分发对象可以包括:本发明实施例所提供的判断逻辑和原始的消息分发对象。消息分发对象可以分发多种类型的指令,例如:***服务进程指示应用程序崩溃的指令(crash指令)、***服务进程指示应用程序启动另一应用程序的指令、***服务进程指示应用程序关闭的指令以及***服务进程指示应用程序跳转页面的指令等等。本发明实施例中,开发人员可以预先基于原始的消息分发对象所能支持分发的指令的类型,以及用户需求,设置预设拦截类型。具体的,上述预设拦截类型为:预先设置的消息分发对象中所包含的所需进行拦截的指令类型。
其中,上述的判断逻辑即上述预先挂钩的消息分发对象,获得操作指令之后,判断操作指令是否为预设拦截类型的指令的逻辑。可以理解的是,不同类型的操作指令,其所携带的参数会存在不同,基于操作指令携带的参数,可以确定出操作指令的类型。
在一种情况中,当上述判断逻辑的判断结果为是,即判断操作指令为预设拦截类型的指令时,可以确定不允许将该操作指令发送至应用程序,此时,则可以基于预先挂钩的消息分发对象,执行不发送操作指令至应用程序进程的操作。
在另一种情况中,当上述判断逻辑的判断结果为否,即判断操作指令不为预设拦截类型的指令时,可以继续通过原始的消息分发对象,将上述操作指令发送至应用程序进程,以使应用程序执行上述操作指令对应的操作。举例而言,上述预设拦截类型的指令为:***服务进程指示应用程序崩溃的指令,当上述操作指令为***服务进程指示应用程序从页面A跳转至页面B,即应用程序从页面A跳转至页面B的指令时,则可以判断上述操作指令不为预设拦截类型的指令,此时,可以继续通过原始的消息分发对象,将上述操作指令发送至应用程序进程,以使应用程序从页面A跳转至页面B。
其中,上述基于预先挂钩的消息分发对象,执行不发送操作指令至应用程序进程的操作的过程,可以是:基于预先挂钩的消息分发对象,丢弃上述操作指令。也可以是基于预先挂钩的消息分发对象,返回上述操作指令,使得***服务进程认为应用程序已执行上述操作指令对应的操作。
本发明实施例中,获得电子设备的***服务进程发送至应用程序进程的操作指令,其中,操作指令为:指示应用程序执行操作指令对应的操作的指令;判断操作指令是否为预设拦截类型的指令;当判断结果为是时,基于预先挂钩的消息分发对象,执行不发送操作指令至应用程序进程的操作。可见,应用本发明实施例,可以实现对***服务进程发送至应用程序进程的操作指令拦截,并进行筛选,当操作指令为预设拦截类型的指令时,不发送操作指令至应用程序进程,实现对***服务进程所发送的指令进行选择过滤,使得应用程序可以实现选择性执行***服务进程所发送的指令。
在一种实现方式中,开发人员为了提高应用程序的稳定性,避免应用程序由于***服务进程的指令,出现崩溃的情况,在一定程度上改善用户体验,本发明实施例中,上述预设拦截类型的指令可以包括:***服务进程指示应用程序崩溃的指令。具体的,上述判断操作指令是否为预设拦截类型的指令的步骤,可以包括:
判断操作指令,是否为***服务进程所发送的指示应用程序崩溃的指令。
当判断出操作指令为***服务进程所发送的指示应用程序崩溃的指令时,可以基于预先挂钩的消息分发对象,执行不发送操作指令至应用程序进程的操作,即基于预先挂钩的消息分发对象,将上述操作指令丢弃,或返回上述操作指令,使得***服务进程认为应用程序以执行上述操作指令对应的操作。而此时的应用程序由于未接收到上述操作指令,即指示自身崩溃的指令,其并未执行崩溃操作。上述情况,可以基于预先挂钩的消息分发消息确定出RemoteServiceException崩溃,在一定程度上减少了应用程序由于***服务进程的指令,而崩溃的情况。在一定程度上提高了应用程序的应用程序稳定性以及该应用程序的用户的使用体验。
在一种实现方式中,***服务进程向应用程序进程发送操作指令后,其存在接收到关于应用程序执行上述操作指令对应的操作的回应的需求。如图2所示,所述方法可以包括如下步骤:
S201:获得电子设备的***服务进程发送至应用程序进程的操作指令;
其中,该操作指令为:指示应用程序执行操作指令的相应操作的指令;
S202:判断操作指令是否为预设拦截类型的指令;
S203:当判断结果为是时,基于预先挂钩的消息分发对象,执行不发送操作指令至应用程序进程的操作;
其中,上述S201与图1所示的S101相同,上述S202与图1所示的S102相同,上述S203与图1所示的S103。
S204:通知***服务进程应用程序已执行操作指令对应的操作。
本发明实施例中,当确定执行不发送操作指令至应用程序进程的操作后,可以继续生成表征应用程序已执行操作指令对应的操作的信息,并将上述信息返回至***服务进程,以通知***服务进程应用程序已执行操作指令对应的操作。
在另一种情况中,还可以生成并存储日志,其中,该日志包含:描述关于***服务进程向应用程序发送操作指令的信息,此时,该操作指令为预设拦截类型的指令。在连接网络的情况下,还可以将所生成的日志发送至后台服务器,以使后台服务器收集上述描述关于***服务进程向应用程序发送操作指令的信息。其中,上述日志还可以包括:描述导致***服务进程向应用程序发送操作指令的触发信息,例如,应用程序的功能C被启动时,***服务进程向应用程序发送上述操作指令。上述日志还可以包括:***服务进程向应用程序发送操作指令的时间,等等。
在一种实现方式中,在所述获得电子设备的***服务进程发送至应用程序进程的操作指令的步骤之前,所述方法还可以包括:
基于Java反射机制,对消息分发对象进行挂钩。
可以理解的是,Java反射机制在电子设备处于运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。
本发明实施例中,开发人员基于Java反射机制,获得处于运行态的消息分发对象的运行地址,进而基于所获得的消息分发对象的运行地址,确定该消息分发对象;进而,在确定上述息分发对象基础上,增添预先编写完成的上述判断逻辑,以得到修改后的消息分发对象;进而,再次基于Java反射机制,将修改后的消息分发对象,注入所获得运行地址处,以实现对消息分发对象的挂钩。
相应于上述方法实施例,本发明实施例提供了一种数据处理装置,如图3所示,所述装置包括:
获得模块310,用于获得电子设备的***服务进程发送至应用程序进程的操作指令,其中,所述操作指令为:指示应用程序执行所述操作指令对应的操作的指令;
判断模块320,用于判断所述操作指令是否为预设拦截类型的指令;
处理模块330,用于当判断结果为是时,基于预先挂钩的消息分发对象,执行不发送所述操作指令至所述应用程序的操作。
本发明实施例中,获得电子设备的***服务进程发送至应用程序进程的操作指令,其中,操作指令为:指示应用程序执行操作指令对应的操作的指令;判断操作指令是否为预设拦截类型的指令;当判断结果为是时,基于预先挂钩的消息分发对象,执行不发送操作指令至应用程序进程的操作。可见,应用本发明实施例,可以实现对***服务进程发送至应用程序进程的操作指令拦截,并进行筛选,当操作指令为预设拦截类型的指令时,不发送操作指令至应用程序进程,实现对***服务进程所发送的指令进行选择过滤,使得应用程序可以实现选择性执行***服务进程所发送的指令。
在一种实现方式中,所述预设拦截类型为:预先设置的所述消息分发对象中所包含的所需进行拦截的指令类型。
在一种实现方式中,所述获得模块310,具体用于
基于预先挂钩的所述消息分发对象,获得电子设备的***服务进程发送至应用程序进程的操作指令。
在一种实现方式中,如图4所示,所述装置还包括:
通知模块410,用于在所述基于预先挂钩的消息分发对象,执行不发送所述操作指令至所述应用程序进程的操作之后,通知所述***服务进程所述应用程序已执行所述操作指令对应的操作。
在一种实现方式中,所述装置还包括:
挂钩模块,用于在所述获得电子设备的***服务进程发送至应用程序进程的操作指令之前,基于Java反射机制,对所述消息分发对象进行挂钩。
在一种实现方式中,所述判断模块420,具体用于
判断所述操作指令,是否为所述***服务进程所发送的指示所述应用程序崩溃的指令。
相应于上述方法实施例,本发明实施例还提供了一种电子设备,如图5所示,包括处理器510、通信接口520、存储器530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信,
存储器530,用于存放计算机程序;
处理器510,用于执行存储器530上所存放的计算机程序时,实现本发明实施例所提供的上述任一所述的数据处理方法,可以包括步骤:
获得电子设备的***服务进程发送至应用程序进程的操作指令,其中,所述操作指令为:指示应用程序执行所述操作指令对应的操作的指令;
判断所述操作指令是否为预设拦截类型的指令;
当判断结果为是时,基于预先挂钩的消息分发对象,执行不发送所述操作指令至所述应用程序进程的操作。
本发明实施例中,获得电子设备的***服务进程发送至应用程序进程的操作指令,其中,操作指令为:指示应用程序执行操作指令对应的操作的指令;判断操作指令是否为预设拦截类型的指令;当判断结果为是时,基于预先挂钩的消息分发对象,执行不发送操作指令至应用程序进程的操作。可见,应用本发明实施例,可以实现对***服务进程发送至应用程序进程的操作指令拦截,并进行筛选,当操作指令为预设拦截类型的指令时,不发送操作指令至应用程序进程,实现对***服务进程所发送的指令进行选择过滤,使得应用程序可以实现选择性执行***服务进程所发送的指令。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
相应于上述方法实施例,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的上述任一所述的数据处理方法,可以包括步骤:
获得电子设备的***服务进程发送至应用程序进程的操作指令,其中,所述操作指令为:指示应用程序执行所述操作指令对应的操作的指令;
判断所述操作指令是否为预设拦截类型的指令;
当判断结果为是时,基于预先挂钩的消息分发对象,执行不发送所述操作指令至所述应用程序进程的操作。
本发明实施例中,获得电子设备的***服务进程发送至应用程序进程的操作指令,其中,操作指令为:指示应用程序执行操作指令对应的操作的指令;判断操作指令是否为预设拦截类型的指令;当判断结果为是时,基于预先挂钩的消息分发对象,执行不发送操作指令至应用程序进程的操作。可见,应用本发明实施例,可以实现对***服务进程发送至应用程序进程的操作指令拦截,并进行筛选,当操作指令为预设拦截类型的指令时,不发送操作指令至应用程序进程,实现对***服务进程所发送的指令进行选择过滤,使得应用程序可以实现选择性执行***服务进程所发送的指令。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
获得电子设备的***服务进程发送至应用程序进程的操作指令,其中,所述操作指令为:指示应用程序执行所述操作指令对应的操作的指令;
判断所述操作指令是否为预设拦截类型的指令;
当判断结果为是时,基于预先挂钩的消息分发对象,执行不发送所述操作指令至所述应用程序进程的操作。
2.根据权利要求1所述的方法,其特征在于,所述预设拦截类型为:预先设置的所述消息分发对象中所包含的所需进行拦截的指令类型。
3.根据权利要求1所述的方法,其特征在于,所述获得电子设备的***服务进程发送至应用程序进程的操作指令的步骤,包括:
基于预先挂钩的所述消息分发对象,获得电子设备的***服务进程发送至应用程序进程的操作指令。
4.根据权利要求1所述的方法,其特征在于,在所述基于预先挂钩的消息分发对象,执行不发送所述操作指令至所述应用程序进程的操作的步骤之后,所述方法还包括:
通知所述***服务进程所述应用程序已执行所述操作指令对应的操作。
5.根据权利要求1所述的方法,其特征在于,在所述获得电子设备的***服务进程发送至应用程序进程的操作指令的步骤之前,所述方法还包括:
基于Java反射机制,对所述消息分发对象进行挂钩。
6.根据权利要求1所述的方法,其特征在于,所述判断所述操作指令是否为预设拦截类型的指令的步骤,包括:
判断所述操作指令,是否为所述***服务进程所发送的指示所述应用程序崩溃的指令。
7.一种数据处理装置,其特征在于,所述装置包括:
获得模块,用于获得电子设备的***服务进程发送至应用程序进程的操作指令,其中,所述操作指令为:指示应用程序执行所述操作指令对应的操作的指令;
判断模块,用于判断所述操作指令是否为预设拦截类型的指令;
处理模块,用于当判断结果为是时,基于预先挂钩的消息分发对象,执行不发送所述操作指令至所述应用程序的操作。
8.根据权利要求7所述的装置,其特征在于,所述预设拦截类型为:预先设置的所述消息分发对象中所包含的所需进行拦截的指令类型。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的计算机程序时,实现权利要求1-6任一所述的数据处理方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的数据处理方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810676020.9A CN109002323A (zh) | 2018-06-27 | 2018-06-27 | 一种数据处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810676020.9A CN109002323A (zh) | 2018-06-27 | 2018-06-27 | 一种数据处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109002323A true CN109002323A (zh) | 2018-12-14 |
Family
ID=64600828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810676020.9A Pending CN109002323A (zh) | 2018-06-27 | 2018-06-27 | 一种数据处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109002323A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103368914A (zh) * | 2012-03-31 | 2013-10-23 | 百度在线网络技术(北京)有限公司 | 一种用于拦截消息的方法、装置和设备 |
CN103595547A (zh) * | 2013-11-15 | 2014-02-19 | 北京奇虎科技有限公司 | 智能设备的广播拦截方法和装置 |
US20170060610A1 (en) * | 2015-08-28 | 2017-03-02 | Vmware, Inc. | Dynamic content disk |
CN106657358A (zh) * | 2016-12-29 | 2017-05-10 | 北京奇虎科技有限公司 | 一种安卓应用的服务代理方法和装置 |
CN107154895A (zh) * | 2017-05-27 | 2017-09-12 | 珠海市魅族科技有限公司 | 一种消息传输方法及服务器、计算机装置及存储介质 |
-
2018
- 2018-06-27 CN CN201810676020.9A patent/CN109002323A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103368914A (zh) * | 2012-03-31 | 2013-10-23 | 百度在线网络技术(北京)有限公司 | 一种用于拦截消息的方法、装置和设备 |
CN103595547A (zh) * | 2013-11-15 | 2014-02-19 | 北京奇虎科技有限公司 | 智能设备的广播拦截方法和装置 |
US20170060610A1 (en) * | 2015-08-28 | 2017-03-02 | Vmware, Inc. | Dynamic content disk |
CN106657358A (zh) * | 2016-12-29 | 2017-05-10 | 北京奇虎科技有限公司 | 一种安卓应用的服务代理方法和装置 |
CN107154895A (zh) * | 2017-05-27 | 2017-09-12 | 珠海市魅族科技有限公司 | 一种消息传输方法及服务器、计算机装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104239157B (zh) | 一种对移动终端的数据进行优化清理的方法和装置 | |
CN105138459B (zh) | 一种对软件程序进行测试的方法及装置 | |
CN109976935A (zh) | 微服务架构、微服务节点及其熔断恢复方法、装置 | |
US9575745B1 (en) | Immediately launching applications | |
CN108762911A (zh) | 定时任务管理方法、装置、计算机设备及存储介质 | |
CN108600034B (zh) | 业务压力管理方法、装置、设备、***及存储介质 | |
CN106951335B (zh) | 一种进程守护方法和移动终端 | |
US7934129B2 (en) | Network hang recovery | |
CN109743358A (zh) | 异步消息接口熔断控制方法、装置、计算机设备及存储介质 | |
CN111104315A (zh) | 一种测试脚本生成方法及装置、计算机可读存储介质 | |
US20150261658A1 (en) | Scheduling tests of software for a cloud computing environment | |
CN112241350B (zh) | 微服务评估方法、装置、计算设备及微服务检测*** | |
CN104346279A (zh) | 一种软件测试方法及装置 | |
US11057280B2 (en) | User interface with expected response times of commands | |
CN109558313B (zh) | 构建异常测试场景的方法及装置 | |
CN111026606A (zh) | 基于hystrix熔断器监控的报警方法、装置及计算机设备 | |
CN103617055B (zh) | 一种在浏览器中启动应用程序的方法、装置和浏览器 | |
CN103810419A (zh) | 一种应用防卸载方法和设备 | |
CN109032811A (zh) | 一种数据监控方法、装置及电子设备 | |
CN107729167B (zh) | 应用异常处理方法和装置 | |
CN109002323A (zh) | 一种数据处理方法、装置及电子设备 | |
CN106201464A (zh) | 一种冻结应用的应用图标处理方法及移动终端 | |
US9596145B2 (en) | Communication system, GUI apparatus, and service apparatus | |
CN110928630A (zh) | 应用程序窗口的激活控制方法、装置、设备及存储介质 | |
CN115712521A (zh) | 一种集群节点故障处理方法、***及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181214 |