CN110413383B - 事件处理方法、装置、终端及存储介质 - Google Patents
事件处理方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN110413383B CN110413383B CN201910012696.2A CN201910012696A CN110413383B CN 110413383 B CN110413383 B CN 110413383B CN 201910012696 A CN201910012696 A CN 201910012696A CN 110413383 B CN110413383 B CN 110413383B
- Authority
- CN
- China
- Prior art keywords
- event
- processing
- resource
- type
- target
- 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.)
- Active
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Stored Programmes (AREA)
Abstract
本发明公开了一种事件处理方法、装置、终端及存储介质,属于网络技术领域。所述方法包括:对待处理的事件进行检测;若该事件为预设事件,根据该事件,向终端操作系统发送处理资源请求;基于该终端操作系统分配的用于处理该事件的目标处理资源,对该事件进行处理。本发明通过向终端操作系统发送处理资源请求,由于该处理资源请求用于指示处理该事件所需的处理资源,能够在处理事件之前,预先向终端操作系统请求处理资源,从而避免了处理过程产生的性能损耗事件,优化了资源调度情况。
Description
技术领域
本发明涉及网络技术领域,特别涉及一种事件处理方法、装置、终端及存储介质。
背景技术
随着网络技术的发展,终端上可以安装有多个应用客户端,例如即时通讯客户端、浏览器客户端、多媒体资源处理客户端等,不同的应用客户端可以实现不同的功能。
在应用客户端处理频繁加载多媒体资源等事件的情况下,终端操作系统会对性能损耗事件进行实时检测,当检测到卡顿、丢帧等性能损耗事件时,根据终端操作系统内置的资源调度算法,为该应用客户端分配更多的处理资源,该多媒体资源可以是视频、音频、图片等,例如,当终端操作系统检测到应用客户端播放的视频卡顿时,会提高CPU(centralprocessing unit,中央处理器)频率,以提高播放该视频时的流畅度。
在上述过程中,终端操作系统的资源调度算法滞后于应用客户端对处理资源的需求,也即是,上述过程是在性能损耗事件已经出现的情况下,对该性能损耗事件采取一些弥补措施,因此,无法避免在事件处理的过程中已产生的性能损耗事件。
发明内容
本发明实施例提供了一种事件处理方法、装置、终端及存储介质,能够解决事件处理过程中发生性能损耗事件的问题。该技术方案如下:
一方面,提供了一种事件处理方法,该方法包括:
对待处理的事件进行检测;
若该事件为预设事件,根据该事件,向终端操作系统发送处理资源请求,该处理资源请求用于指示处理该事件所需的处理资源;
基于该终端操作系统分配的用于处理该事件的目标处理资源,对该事件进行处理,该目标处理资源与该处理资源请求相匹配。
一方面,提供了一种事件处理方法,该方法包括:
接收应用客户端的处理资源请求,该处理资源请求用于指示处理事件所需的处理资源;
解析该处理资源请求;
基于该处理资源请求,分配用于处理该事件的目标处理资源,该目标处理资源与该处理资源请求相匹配。
一方面,提供了一种事件处理装置,该装置包括:
检测模块,用于对待处理的事件进行检测;
发送模块,用于若该事件为预设事件,根据该事件,向终端操作系统发送处理资源请求,该处理资源请求用于指示处理该事件所需的处理资源;
处理模块,用于基于该终端操作系统分配的用于处理该事件的目标处理资源,对该事件进行处理,该目标处理资源与该处理资源请求相匹配。
一方面,提供了一种事件处理装置,该装置包括:
接收模块,用于接收应用客户端的处理资源请求,该处理资源请求用于指示处理事件所需的处理资源;
解析模块,用于解析该处理资源请求;
分配模块,用于基于该处理资源请求,分配用于处理该事件的目标处理资源,该目标处理资源与该处理资源请求相匹配。
一方面,提供了一种终端,该终端包括处理器和存储器,该存储器中存储有至少一条指令,该至少一条指令由该处理器加载并执行以实现如上述任一种事件处理方法所执行的操作。
一方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该至少一条指令由处理器加载并执行以实现如上述任一种事件处理方法所执行的操作。
本发明实施例提供的技术方案带来的有益效果至少包括:
通过对待处理的事件进行检测,当该事件为预设事件时,应用客户端向终端操作系统发送处理资源请求,由于该处理资源请求用于指示处理该事件所需的处理资源,应用客户端向终端操作系统提供了明确的事件处理需求,应用客户端基于终端操作系统分配的目标处理资源,对该事件进行处理,从而能够在应用客户端在处理事件之前,预先向终端操作系统请求处理过程中需要的处理资源,基于终端操作系统为应用客户端分配合适的目标处理资源进行事件处理,从而避免了处理过程产生的性能损耗事件,优化了资源调度情况。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种事件处理方法的实施环境示意图;
图2是本发明实施例提供的一种事件处理方法的交互流程图;
图3是本发明实施例提供的一种事件处理方法的逻辑架构框图;
图4是本发明实施例提供的一种事件处理方法的交互流程图;
图5是本发明实施例提供的一种事件处理方法的流程图;
图6是本发明实施例提供的一种事件处理装置的结构示意图;
图7是本发明实施例提供的一种事件处理装置的结构示意图;
图8是本发明实施例提供的终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种事件处理方法的实施环境示意图。参见图1,该事件处理方法可以在任一具有安卓操作系统的终端101上实现,在该终端101上,可以分为4层系统架构:应用程序(application,APP)层、应用框架(application framework)层、核心库(android runtime&native C/C++liberaries)层和内核(Linux kernel)层。
在上述架构中,该应用程序层用于提供该终端101上安装的所有应用客户端,可选地,该应用客户端为java应用程序,从而能够与终端操作系统更好的适配。
该应用框架层用于提供构建应用程序的多个java API(applicationprogramming interface,应用程序编程接口),该多个java API为用java语言编写的规范化的函数,技术人员在开发时能够在应用程序层对该多个java API进行调用,从而能够在不访问java API源代码的情况下,仅输入各个java API所需的输入量,即可以实现与各个java API所对应的功能,例如该多个java API可以包括窗口管理器(window manager)、活动管理器(activity manager)以及内容提供器(content providers)等。
该核心库层用于提供安卓系统的运行环境(android runtime,ART)和原生的C/C++库(native API),该运行环境即为APP运行时所需的java虚拟机(java virtual machine,JVM),各个APP通过该JVM才能在Linux内核上正常运行,其中,native API是以C/C++语言编写的原生代码库,能够为安卓操作系统提供某些功能特性的原生代码支持,例如,提供数据库支持的SQLite,提供2D/3D绘图支持的OpenGL ES库(OpenGL for embedded systems),提供浏览器内核支持的WebKit库等。
该内核层用于提供Linux运行内核,通过Linux运行内核中的驱动程序来与该终端101上的处理资源进行通信,该驱动程序可以包括携带资源调度算法的CPU驱动、显卡驱动(GPU驱动)以及蓝牙等外围设备的驱动,该处理资源可以是CPU(central processingunit,中央处理器)、GPU(graphics processing unit,图形处理器)、目标运行内核等。
基于上述4层架构,对任一终端101而言,该终端101上可以安装有APP,每个APP都位于4层架构中最上层的应用程序层,APP需要基于终端101的处理资源,才能够提供事件处理服务。由于应用程序层的APP无法直接调用最下层的内核层的处理资源,因此,在APP处理事件的过程中,是由终端操作系统经过层层调用,从应用框架层到核心库层,再从核心库层到内核层,最终调用到内核层中的驱动程序,以分配用于处理事件的处理资源。其中,C/C++语言实现的native API可以通过JNI(java native interface,java原生接口)与java语言实现的java API进行通信,也即是,java API可以基于JNI与native API进行互相调用。
在上述情况下,目前终端操作系统可以对性能损耗事件进行实时检测,当APP在处理事件时,如果检测到卡顿、丢帧等性能损耗事件,则通过内置的资源调度算法,调用内核层中的驱动程序,为该APP分配更多的处理资源,为了避免已产生的该性能损耗事件,下面对本发明实施例进行详述。
图2是本发明实施例提供的一种事件处理方法的交互流程图,参见图2,基于上述实施环境,该实施例包括:
201、终端上的应用客户端对待处理的事件进行检测。
在上述步骤201中,该应用客户端可以是终端上任一可以提供事件处理服务的应用客户端,例如,该应用客户端可以是即时通讯客户端、浏览器客户端、图像处理客户端等,本发明实施例不对该应用客户端的类型进行具体限定。
其中,该待处理的事件可以是该应用客户端在运行过程中所需要处理的任一事件,例如,该事件可以是加载多媒体资源、接听语音通话、挂断语音通话、应用客户端运行启动进程等,该多媒体资源可以包括视频、音频、文本、图片等形式的资源,本发明实施例不对该多媒体资源的形式进行具体限定。
在上述步骤201中,该应用客户端可以存储有预设事件列表,当检测到该待处理的事件与该预设事件列表中的任一预设事件相同时,将该事件确定为预设事件。例如,以该事件的事件标识为索引,当该索引能够命中该预设事件列表中的任一预设事件时,将该事件确定为预设事件。
在一些实施例中,该应用客户端还可以按照预设规则进行事件检测,当检测该待处理的事件符合预设规则时,将该事件确定为预设事件。其中,该预设规则为当前所占用的处理资源不能满足该事件对处理资源的需求,例如,该待处理的事件为加载20M的长图片,如果检测到当前所占用的处理资源对该长图片加载不出来或加载时长超过第一预设数值时,将该事件确定为预设事件,其中,该第一预设数值为任一大于0的实数,例如该第一预设数值为5分钟。
在一种可能实施方式中,当该事件为加载多媒体资源时,该预设规则可以设置为与多媒体资源的属性相关,例如,该预设规则可以是该多媒体资源的数据大小超过第二预设数值,还可以是该多媒体资源的资源类型为视频资源等,其中,该第二预设数值为任一大于0的实数,例如该第二预设数值为100M。
在一些实施例中,还可以既检测该事件是否为预设事件,且按照预设规则进行检测,当符合上述两种情况中的任一种时,将该事件确定为预设事件,在此不作赘述,本发明实施例不对预设事件的判断方式进行具体限定。
202、若该事件为预设事件,该应用客户端根据该事件,向终端操作系统发送处理资源请求,该处理资源请求用于指示处理该事件所需的处理资源。
其中,该预设事件为应用客户端需要向终端操作系统请求额外处理资源的事件,当然,在不同的应用客户端中该预设事件可以相同,也可以不同,该预设事件可以是应用客户端默认的事件,也可以是用户个性化设置的事件。
在上述过程中,应用客户端可以根据该事件与处理资源的映射关系,生成处理资源请求,并向该终端操作系统发送该处理资源请求,该映射关系可以为终端所固有的映射关系,对于不同性能的终端,可以有不同的映射关系,例如,该映射关系可以为:当该事件为加载720P的时长10分钟的视频资源时,所需的处理资源为CPU频率等级在Level-2运行15秒,本发明实施例不对该映射关系的内容进行具体限定。应用客户端可以根据该映射关系,生成目标处理资源请求,该目标处理资源请求中携带的资源类型为提高CPU运行频率,资源参数为CPU频率等级Level-2,目标持续时长为15秒,并向该终端操作系统发送该目标处理资源请求。
在一些实施例中,当该事件为加载多媒体资源时,该处理资源请求携带资源类型、资源参数和目标持续时长,该目标持续时长为大于0的任一实数,本发明实施例不对该目标持续时长的数值进行具体限定。可选地,当该资源类型为第一类型时,该资源参数为CPU频率等级,该第一类型用于指示提高CPU运行频率;或,当该资源类型为第二类型时,该资源参数为GPU频率等级,该第二类型用于指示提高GPU运行频率;或,当该资源类型为第三类型时,该资源参数为目标线程的线程号,该第三类型用于指示将该目标线程绑定至目标运行内核,该目标线程为执行该事件的线程。
可选地,当该事件为加载视频资源时,该处理资源请求中除了资源类型、资源参数、目标持续时长之外,还可以携带编解码参数,该编解码参数用于配置视频编解码器,可以由终端操作系统响应该处理资源请求,从而配置视频编解码器,例如,该编解码参数可以为视频编解码过程中的最大QP值(quantizer parameter,量化参数)和/或最小QP值,由于QP值越小,则量化精细程度和视频质量就越高,代价是码率越高,从而能够在加载该视频资源时,不依赖于终端操作系统的分析能力,而是由应用客户端侧直接发出请求,实现对视频编解码的精细度进行更加准确的控制,进而能够在应用客户端运行的过程中动态调整码率,从而优化编解码的效率。
可选地,当该事件为接听语音通话时,该处理资源请求还可以携带事件标准值,该事件标准值用于指示该事件的触发操作,该语音通话可以为VoIP(voice over internetprotocol,基于IP的语音传输),也可以是携带视频画面的VoIP等,本公开实施例不对该语音通话的形式进行具体限定,使得终端操作系统能够基于该事件标准值,调用与该事件标准值对应的API,对该目标事件作出响应,从而能够在该应用客户端上,支持与该事件标准值所对应的触发操作来对该事件进行触发。
基于上述情况,下面以该语音通话为VoIP为例进行说明,假设在该应用客户端中,接听VoIP通话的默认操作是点击接听按钮。对于某一厂商生产的目标型号的终端,该终端支持当检测到向右滑动操作时,接听基于2G/3G通信网络上的CS(circuit switching,电路交换)方式的传统通话。可以相应地将该事件标准值设置为向右滑动操作,从而当终端操作系统响应该处理资源请求后,调用与该事件标准值所对应的API,也即是,当检测到向右滑动操作,可以触发接听VoIP通话,从而在该终端上以接听传统通话的方法接听VoIP通话,使得该应用客户端能够与不同厂商、不同型号的终端进行良好的适配,提高了该应用客户端的兼容性,且能够符合用户的操作习惯,提升了用户体验。
可选地,该处理资源请求中还可以携带输入/输出缓冲的传输频率(I/O频率),该I/O频率用于指示终端存储设备的传输频率,使得应用客户端还可以向终端操作系统请求事件处理所需求的I/O频率,以基于终端操作系统的响应处理事件。
203、终端操作系统接收该应用客户端的处理资源请求。
204、终端操作系统解析该处理资源请求。
在上述步骤204中,终端操作系统可以读取该处理资源请求的第一目标字段,获取资源类型,读取该处理资源请求的第二目标字段,获取资源参数,读取该处理资源请求的第三目标字段,获取目标持续时长等,对于编解码参数、事件标准值和I/O频率,也是类似的解析方法,在此不作赘述。其中,该第一目标字段、第二目标字段和第三目标字段可以相同,也可以不同,例如,该第一目标字段可以为请求头字段,本公开实施例不对该第一目标字段、第二目标字段、第三目标字段的位置进行具体限定。
205、终端操作系统基于该处理资源请求,分配用于处理该事件的目标处理资源,该目标处理资源与该处理资源请求相匹配。
在上述步骤205中,终端操作系统在步骤204中对该处理资源请求进行解析后,基于处理资源请求分配目标处理资源,该目标处理资源与该处理资源请求相匹配。
在上述过程中该目标处理资源与该处理资源请求相匹配是指:该目标处理资源的资源类型与处理资源请求中携带的资源类型相同,该目标处理资源的资源参数和目标持续时长大于等于该处理资源请求中携带的资源参数和目标持续时长。
例如,假设在终端上CPU运行频率分为3个等级,以该资源类型为提高CPU运行频率为例进行说明,在处理预设事件以外的事件时,默认的CPU等级频率为Level-3,某一时刻待处理的事件判断为预设事件,APP的处理资源请求中携带的资源参数为CPU频率等级Level-2,目标持续时长为10s,则当该目标处理资源中的CPU频率等级大于等于Level-2,且目标持续时长大于等于10s时,该目标处理资源与该处理资源请求相匹配。
在一些实施例中,终端在响应该处理资源请求时,可以先判断自身空闲的缓存资源是否能够满足该处理资源请求,如果能够满足,则释放该缓存资源,分配与该处理资源请求相匹配的目标处理资源,如果不能够满足,则为该应用客户端分配一部分处理资源,以满足该处理资源请求中的一部分需求,从而完善了终端的资源调度流程。
基于上述示例,终端操作系统在接收上述处理资源请求的同一时刻,接收到该APP发出的将CPU频率等级提高至Level-1并持续5s的另一处理资源请求,终端操作系统判断当前自身空闲资源能够满足提供CPU频率等级的请求,则可以在前5s将CPU频率等级提高至Level-1,在后5s将CPU频率等级提高至Level-2,并在10s后将CPU频率等级调整至原本运行的Level-3,从而在满足各个处理资源请求的情况下,为APP分配与处理资源请求相匹配的目标处理资源,避免了对CPU能力的损耗。
206、该应用客户端基于该终端操作系统分配的目标处理资源,对该事件进行处理。
在一些实施例中,该应用客户端可以在执行上述步骤202中的向终端操作系统发送处理资源请求之后,即基于原有的处理资源,执行对该事件进行处理,当某一时刻终端操作系统分配目标处理资源后,应用客户端可以基于该目标处理资源继续对该事件进行处理,根据目标处理资源的不同,应用客户端在事件处理过程中占用的处理资源就不同,例如在CPU频率等级为Level-2的情况下加载多媒体资源,或者将与目标线程绑定在高性能的大核加载视频等,在此不作赘述。
本发明实施例提供的方法,通过对待处理的事件进行检测,当该事件为预设事件时,应用客户端向终端操作系统发送处理资源请求,由于该处理资源请求用于指示处理该事件所需的处理资源,应用客户端向终端操作系统提供了明确的事件处理需求,应用客户端基于终端操作系统分配的目标处理资源,对该事件进行处理,从而能够在应用客户端在处理事件之前,预先向终端操作系统请求处理过程中需要的处理资源,终端操作系统能够按照实际需求调配合适的处理资源,从而应用客户端可以基于目标处理资源进行事件处理,从而避免了处理过程产生的性能损耗事件,优化了资源调度情况,提升了用户体验,进一步地,在如果该处理资源请求中携带了目标持续时长,在经过目标持续时长后,能够及时回收该目标处理资源,避免了对处理资源的浪费,优化了终端操作系统的资源调度情况。
上述实施例提供的方法,是通过应用客户端与终端操作系统之间的交互,避免了处理过程产生的性能损耗事件,而在应用客户端与终端操作系统的交互过程中,由于应用客户端位于实施环境中最顶层的应用程序层,为了使用底层的处理资源进行事件处理,下面对本发明实施例的逻辑框架进行详述:
图3是本发明实施例提供的一种事件处理方法的逻辑架构框图,参见图3,在应用客户端侧,配置有用于管理应用客户端的处理资源请求的第一API,以及用于与终端操作系统建立进程间通信的第二API,其中,该第一API为java语言实现的java API,该第二API为C/C++语言实现的native API,由于java原生接口能够实现java API与native API的互相调用,因此该应用客户端能够基于java原生接口通过第一API向第二API发送处理资源请求。
需要说明的是,该第二API可以在应用客户端版本更新时,以aar文件或so文件的形式嵌入到该应用客户端的SDK(software development kit,软件开发工具包)中,从而作为该应用客户端中的一个模块,当然,该第二API还可以不嵌入到该应用客户端的SDK,而是嵌入到终端操作系统中的C/C++库中,从而成为该终端上任一应用客户端均能够调用的native API,使得本发明实施例提供的事件处理方案成为一套可以适用于终端上任一应用客户端的处理逻辑,在此不作赘述。
在终端操作系统侧,配置有用于与应用客户端建立进程间通信的第三API,该第三API为C/C++语言实现的native API,其中,该进程间通信用于提供不同的native API之间的通信,该进程间通信可以采用Binder、Ashmem、Socket和LocalSocket等方法进行实现,本发明实施例不对该进程间通信的实现方法进行具体限定。
在一些实施例中,该进程间通信采用LocalSocket的实现方法,即在Unix域名空间中创建一个套接字(socket),在该第二API和该第三API获取对方的套接字地址后,即可实现同一终端内部的进程通信,可选地,在安卓系统中该套接字地址可以为文件描述符,LocalSocket避免了执行其他进程间通信实现方法中所需要执行的复杂的TCP(transmission control protocol,传输控制协议)/IP(internet protocol address,网际协议地址)的网络协议栈,避免了对数据包的打包、拆包和校验,简化了进程间通信流程,提高了执行效率,节约了应用客户端运行时所占用的内存。需要说明的是,在第二API与第三API基于进程间通信进行通信时,通信格式可以是JSON(JavaScript Object Notation,JS对象简谱),也可以是protobuf等,本发明实施例不对该通信格式进行具体限定。
图4是本发明实施例提供的一种事件处理方法的交互流程图,基于图3中提供的逻辑架构,结合本发明实施例提供的事件处理方法,得到图5中所示的流程,图5是本发明实施例提供的一种事件处理方法的流程图。参见图4和图5,该实施例包括:
401、终端上的应用客户端对待处理的事件进行检测。
上述步骤401与上述实施例中的步骤201同理,在此不作赘述。
402、若该事件为预设事件,该应用客户端根据该事件,基于java原生接口,通过第一API向第二API发送处理资源请求,该处理资源请求用于指示处理该事件所需的处理资源,该第一API用于管理应用客户端的处理资源请求,该第二API用于与该终端操作系统建立进程间通信。
在上述过程中,该第一API可以对应用客户端的各个处理资源请求进行预处理,以节约终端操作系统的响应流程和响应时间,在一些实施例中,还可以不对该处理资源请求进行预处理,也即是,当第一API检测到任一处理资源请求时,将该处理资源请求发送至该第二API,并执行下述步骤403,通过该第二API将处理资源请求发送至第三API,从而由终端操作系统对该处理资源请求进行响应,从而方便了终端操作系统进一步统筹和调度有限的处理资源。
403、当该第二API接收该处理资源请求,应用客户端基于进程间通信,通过该第二API向终端操作系统的第三API发送该处理资源请求,该第三API用于与该应用客户端建立进程间通信。
在上述步骤403的进程间通信过程中,可选地,应用客户端与终端操作系统之间可以采用回调函数来传递消息,也即是,应用客户端侧的第二API预先在终端操作系统侧的第三API中注册回调函数,将该回调函数的函数指针传递给该第三API中的调用函数,第二API在向该第三API发送请求后,如果该第三API对该请求作出了响应,即该调用函数执行完毕时,该第三API可以通过调用上述回调函数的函数指针,从而通过该回调函数来通知第二API已对该请求的产生响应。其中,该第二API可以是在发出请求前的任一时刻注册回调函数,例如在每次启动应用客户端时进行注册,也可以是打开功能界面时进行注册,本发明实施例不对该回调函数的注册时间进行具体限定。
上述过程中,仅为第二API与第三API之间传递消息的一种可能实现方法,实现了异步通信,节约了应用客户端的占用内存,可选地,还可以不采用回调函数,而采用钩子函数对通信消息进行捕获,从而能够在异步通信的基础上,在捕获消息的时候立刻得到通知,本发明实施例不对传递消息的实现方法进行具体限定。
404、终端操作系统通过第三API接收该应用客户端的该处理资源请求。
405、终端操作系统通过该第三API解析该处理资源请求。
在上述步骤404-405中,终端操作系统通过第三API接收应用客户端的处理资源请求,并通过该第三API对该处理资源请求进行解析的过程与上述实施例中的步骤203-204类似,在此不作赘述。
406、当该资源类型为第一类型时,终端操作系统通过调用第一函数,在目标持续时长内,将CPU频率调整至该处理资源请求中所携带的CPU频率等级,该第一类型用于指示提高CPU运行频率,该第一函数为用于调整CPU频率的impl实现类。
在上述步骤406中,终端操作系统在步骤405中对该处理资源请求进行解析后,基于该处理资源请求分配目标处理资源,该目标处理资源与该处理资源请求相匹配。需要说明的是,终端操作系统仅在该目标持续时长内将按照该处理资源请求提高CPU运行频率,在经过该目标持续时长后,将该CPU运行频率调整至提高频率前的CPU频率等级,从而避免长期提升CPU频率而对CPU能力造成损耗。
在上述过程中,提供了资源类型为提高CPU运行频率时,终端操作系统分配目标处理资源的方法,而可选地:当该资源类型为第二类型时,终端操作系统通过调用第二函数,在目标持续时长内,将GPU频率调整至该处理资源请求中所携带的GPU频率等级,该第二类型用于指示提高GPU运行频率,该第二函数为用于调整GPU频率的impl实现类;或,
当该资源类型为第三类型时,终端操作系统通过调用第三函数,在目标持续时长内,将该处理资源请求中所携带的线程号相对应的目标线程绑定至目标运行内核,该第三类型用于指示将该目标线程绑定至该目标运行内核,该目标线程为执行该事件的线程,该第三函数为用于绑定运行内核的impl实现类,在一种可能实施方式中,终端操作系统还可以通过调用该第三函数,将该目标线程所在的进程整体绑定至该目标运行内核,在此不做赘述。
在上述步骤406及其他可选情况中,该第一函数、第二函数和第三函数为与该资源类型所对应的impl实现类,终端操作系统通过调用impl实现类,能够调用内核层中的各个底层驱动程序,从而为应用客户端提供处理资源。
在一些实施例中,如果该处理资源请求中还携带事件标准值,则终端操作系统可以调用与该事件标准值所对应的函数,例如,当该事件为接听VoIP通话,该事件标准值为通过蓝牙耳机接听,则终端操作系统可以通过调用与蓝牙耳机接听所对应的函数,从而调用内核层中的蓝牙驱动程序,从而提供采用蓝牙耳机接听VoIP通话的服务。
可选地,如果该处理资源请求中还携带了编解码参数,则终端操作系统可以调用与配置视频编解码器所对应的函数,从而对视频编解码器的参数进行配置;当然,如果该处理资源请求中还携带了I/O频率,则终端操作系统还可以调用与配置I/O频率所对应的函数,从而对终端存储设备的传输频率进行调整,在此不做赘述。
407、当该资源类型为该第一类型时,应用客户端基于与该CPU频率等级和该目标持续时长相匹配的目标处理资源,对该事件进行处理。
上述步骤407是一种应用客户端基于目标处理资源进行事件处理的可能实现方式,而可选地:当该资源类型为上述第二类型时,应用客户端基于与该处理资源请求中携带的GPU频率等级和目标持续时长相匹配的目标处理资源,对该事件进行处理;或,当该资源类型为上述第三类型时,应用客户端基于与该处理资源请求中携带的目标运行内核和目标持续时长相匹配的目标处理资源,对与该目标线程对应的该事件进行处理。
在上述过程中,当终端操作系统分配处理资源后,应用客户端即可占用该目标处理资源,在一些实施例中,终端操作系统还可以向应用客户端发出应答信息,该应答信息用于指示终端操作系统已对该处理资源请求做出响应。
以步骤403中提到的情况为例,第二API和第三API在进程间通信过程中采用回调函数传递消息,当终端操作系统分配了目标处理资源后,还可以通过调用回调函数的函数指针向应用客户端发送应答信息,通知应用客户端已进行了处理资源的分配处理,从而完善了终端操作系统的处理逻辑,形成了流程上的闭环。
基于上述步骤401-407提供的事件处理方法,该应用客户端的平均优化效果可以达到10%-30%。
本发明实施例提供的方法,通过对待处理的事件进行检测,当该事件为预设事件时,应用客户端向终端操作系统发送处理资源请求,由于该处理资源请求用于指示处理该事件所需的处理资源,应用客户端向终端操作系统提供了明确的事件处理需求,应用客户端基于终端操作系统分配的目标处理资源,对该事件进行处理,从而能够在应用客户端在处理事件之前,预先向终端操作系统请求处理过程中需要的处理资源,终端操作系统能够按照实际需求调配合适的处理资源,从而应用客户端可以基于目标处理资源进行事件处理,从而避免了处理过程产生的性能损耗事件,优化了资源调度情况,提升了用户体验,进一步地,通过第一API对资源处理请求进行管理,基于java原生接口实现与第二API的通信,并基于进程间通信,与终端操作系统侧的第三API进行交互,实现了向终端操作系统主动发送处理资源请求,进一步地,在如果该处理资源请求中携带了目标持续时长,在经过目标持续时长后,能够及时回收该目标处理资源,避免了对处理资源的浪费,优化了终端操作系统的资源调度情况,进一步地,该处理资源请求中还可以携带事件标准值,还可以根据该事件标准值对内核层的驱动程序进行调用,实现更丰富的功能,与不同型号、不同厂商的终端进行更好的适配,进一步地,该处理资源请求中还可以携带编解码参数,从而根据该编解码参数配置视频编解码器,从而动态地控制事件处理过程中的码率。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图6是本发明实施例提供的一种事件处理装置的结构示意图,参见图6,该装置包括:
检测模块601,用于对待处理的事件进行检测;
发送模块602,用于若该事件为预设事件,根据该事件,向终端操作系统发送处理资源请求,该处理资源请求用于指示处理该事件所需的处理资源;
处理模块603,用于基于该终端操作系统分配的用于处理该事件的目标处理资源,对该事件进行处理,该目标处理资源与该处理资源请求相匹配。
本发明实施例提供的装置,通过对待处理的事件进行检测,当该事件为预设事件时,应用客户端向终端操作系统发送处理资源请求,由于该处理资源请求用于指示处理该事件所需的处理资源,应用客户端向终端操作系统提供了明确的事件处理需求,应用客户端基于终端操作系统分配的目标处理资源,对该事件进行处理,从而能够在应用客户端在处理事件之前,预先向终端操作系统请求处理过程中需要的处理资源,基于终端操作系统为应用客户端分配合适的目标处理资源进行事件处理,从而避免了处理过程产生的性能损耗事件,优化了资源调度情况。
在一种可能实施方式中,基于图6的装置组成,该发送模块602包括:
第一发送单元,用于基于java原生接口,通过第一API向第二API发送该处理资源请求,该第一API用于管理应用客户端的处理资源请求,该第二API用于与该终端操作系统建立进程间通信;
第二发送单元,用于基于进程间通信,通过该第二API,向终端操作系统的第三API发送该处理资源请求,该第三API用于与该应用客户端建立进程间通信。
在一种可能实施方式中,当该事件为加载多媒体资源时,该处理资源请求携带资源类型、资源参数和目标持续时长;或,
当该事件为加载视频资源时,该处理资源请求携带资源类型、资源参数、目标持续时长和编解码参数,该编解码参数用于配置视频编解码器。
在一种可能实施方式中,当该资源类型为第一类型时,该资源参数为CPU频率等级,该第一类型用于指示提高CPU运行频率;或,
当该资源类型为第二类型时,该资源参数为GPU频率等级,该第二类型用于指示提高GPU运行频率;或,
当该资源类型为第三类型时,该资源参数为目标线程的线程号,该第三类型用于指示将该目标线程绑定至目标运行内核,该目标线程为执行该事件的线程。
在一种可能实施方式中,该处理模块603还用于:
当该资源类型为该第一类型时,基于与该CPU频率等级和该目标持续时长相匹配的目标处理资源,对该事件进行处理。
在一种可能实施方式中,该处理模块603还用于:
当该资源类型为该第二类型时,基于与该GPU频率等级和该目标持续时长相匹配的目标处理资源,对该事件进行处理。
在一种可能实施方式中,该处理模块603还用于:
当该资源类型为该第三类型时,基于与该目标运行内核和该目标持续时长相匹配的目标处理资源,对与该目标线程对应的该事件进行处理。
在一种可能实施方式中,该处理资源请求携带事件标准值,该事件标准值用于指示该事件的触发操作;或,
该处理资源请求携带I/O频率,该I/O频率用于指示终端存储设备的传输频率。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的事件处理装置在处理事件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的事件处理装置与事件处理方法实施例属于同一构思,其具体实现过程详见事件处理方法实施例,这里不再赘述。
图7是本发明实施例提供的一种事件处理装置的结构示意图,参见图7,该装置包括:
接收模块701,用于接收应用客户端的处理资源请求,该处理资源请求用于指示处理事件所需的处理资源;
解析模块702,用于解析该处理资源请求;
分配模块703,用于基于该处理资源请求,分配用于处理该事件的目标处理资源,该目标处理资源与该处理资源请求相匹配。
本发明实施例提供的装置,通过接收应用客户端的处理资源请求,能够解析得到应用客户端所需要的处理资源,终端操作系统根据应用客户端的需求,分配与需求相匹配的目标处理资源,从而避免了在终端操作系统检测到性能损耗后再进行优化,避免了应用客户端在事件处理过程产生的性能损耗,优化了资源调度情况,提升了用户体验。
在一种可能实施方式中,当该事件为加载多媒体资源时,该处理资源请求携带资源类型、资源参数和目标持续时长;或,
当该事件为加载视频资源时,该处理资源请求携带资源类型、资源参数、目标持续时长和编解码参数,该编解码参数用于配置视频编解码器。
在一种可能实施方式中,当该资源类型为第一类型时,该资源参数为CPU频率等级,该第一类型用于指示提高CPU运行频率;或,
当该资源类型为第二类型时,该资源参数为GPU频率等级,该第二类型用于指示提高GPU运行频率;或,
当该资源类型为第三类型时,该资源参数为目标线程的线程号,该第三类型用于指示将该目标线程绑定至目标运行内核,该目标线程为执行该事件的线程。
在一种可能实施方式中,该分配模块703还用于:
当该资源类型为该第一类型时,通过调用第一函数,在该目标持续时长内,将CPU频率调整至该CPU频率等级,该第一函数为用于调整CPU频率的impl实现类;或,
当该资源类型为该第二类型时,通过调用第二函数,在该目标持续时长内,将GPU频率调整至该GPU频率等级,该第二函数为用于调整GPU频率的impl实现类;或,
当该资源类型为该第三类型时,通过调用第三函数,在该目标持续时长内,将该目标线程绑定至该目标运行内核,该第三函数为用于绑定运行内核的impl实现类。
在一种可能实施方式中,该处理资源请求携带事件标准值,该事件标准值用于指示该事件的触发操作;或,
该处理资源请求携带I/O频率,该I/O频率用于指示终端存储设备的传输频率。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的事件处理装置在处理事件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的事件处理装置与事件处理方法实施例属于同一构思,其具体实现过程详见事件处理方法实施例,这里不再赘述。
图8是本发明实施例提供的终端的结构示意图,参见图8,该终端800可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端800包括有:处理器801和存储器802。
处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的事件处理方法。
在一些实施例中,终端800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、显示屏805、摄像头806、音频电路807和电源808中的至少一种。
外围设备接口803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置终端800的前面板;在另一些实施例中,显示屏805可以为至少两个,分别设置在终端800的不同表面或呈折叠设计;在再一些实施例中,显示屏805可以是柔性显示屏,设置在终端800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件806用于采集图像或视频。可选地,摄像头组件806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路807还可以包括耳机插孔。
电源808用于为终端800中的各个组件进行供电。电源808可以是交流电、直流电、一次性电池或可充电电池。当电源808包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图8中示出的结构并不构成对终端800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中事件处理方法。例如,该计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (24)
1.一种事件处理方法,其特征在于,由终端执行,所述终端安装有终端操作系统和应用客户端,所述方法包括:
所述应用客户端按照预设规则对待处理的事件进行检测,所述待处理的事件是所述应用客户端在运行过程中所需要处理的任一事件,所述预设规则为当前所占用的处理资源不能满足所述待处理的事件对处理资源的需求;
当检测到所述待处理的事件符合预设规则时,将所述待处理的事件确定为预设事件,根据所述预设事件,所述应用客户端基于java原生接口,通过第一API向第二API发送所述处理资源请求,所述第一API用于管理所述应用客户端的处理资源请求,所述第二API用于与所述终端操作系统建立进程间通信,所述处理资源请求用于指示处理所述预设事件所需的处理资源,所述预设事件为所述应用客户端需要向所述终端操作系统请求额外处理资源的事件;其中,当所述预设事件为加载多媒体资源时,所述处理资源请求携带有资源类型,所述资源类型为提高CPU运行频率、提高GPU运行频率、将目标线程绑定至目标运行内核中任一项;当所述预设事件为接听语音通话时,所述处理资源请求携带有事件标准值,所述事件标准值用于指示所述预设事件的触发操作;
基于进程间通信,通过所述第二API,向所述终端操作系统的第三API发送所述处理资源请求,所述第三API用于与所述应用客户端建立进程间通信;
所述应用客户端基于所述终端操作系统分配的用于处理所述待处理的事件的目标处理资源,对所述待处理的事件进行处理,所述目标处理资源与所述处理资源请求相匹配。
2.根据权利要求1所述的方法,其特征在于,当所述事件为加载多媒体资源时,所述处理资源请求携带资源类型、资源参数和目标持续时长;或,
当所述事件为加载视频资源时,所述处理资源请求携带资源类型、资源参数、目标持续时长和编解码参数,所述编解码参数用于配置视频编解码器。
3.根据权利要求2所述的方法,其特征在于,当所述资源类型为第一类型时,所述资源参数为CPU频率等级,所述第一类型用于指示提高CPU运行频率;或,
当所述资源类型为第二类型时,所述资源参数为GPU频率等级,所述第二类型用于指示提高GPU运行频率;或,
当所述资源类型为第三类型时,所述资源参数为目标线程的线程号,所述第三类型用于指示将所述目标线程绑定至目标运行内核,所述目标线程为执行所述事件的线程。
4.根据权利要求3所述的方法,其特征在于,所述基于所述终端操作系统分配的用于处理所述事件的目标处理资源,对所述事件进行处理包括:
当所述资源类型为所述第一类型时,基于与所述CPU频率等级和所述目标持续时长相匹配的目标处理资源,对所述事件进行处理。
5.根据权利要求3所述的方法,其特征在于,所述基于所述终端操作系统分配的用于处理所述事件的目标处理资源,对所述事件进行处理包括:
当所述资源类型为所述第二类型时,基于与所述GPU频率等级和所述目标持续时长相匹配的目标处理资源,对所述事件进行处理。
6.根据权利要求3所述的方法,其特征在于,所述基于所述终端操作系统分配的用于处理所述事件的目标处理资源,对所述事件进行处理包括:
当所述资源类型为所述第三类型时,基于与所述目标运行内核和所述目标持续时长相匹配的目标处理资源,对与所述目标线程对应的所述事件进行处理。
7.根据权利要求1所述的方法,其特征在于,所述处理资源请求携带事件标准值,所述事件标准值用于指示所述事件的触发操作;或,
所述处理资源请求携带I/O频率,所述I/O频率用于指示终端存储设备的传输频率。
8.一种事件处理方法,其特征在于,由终端执行,所述终端安装有终端操作系统和应用客户端,所述方法包括:
所述终端操作系统接收所述应用客户端的处理资源请求,所述处理资源请求用于指示处理事件所需的处理资源,所述处理资源请求在所述应用客户端按照预设规则检测到的待处理的事件为预设事件时触发,所述待处理的事件是所述应用客户端在运行过程中所需要处理的任一事件,所述预设规则为当前所占用的处理资源不能满足所述待处理的事件对处理资源的需求,所述预设事件满足所述预设规则,所述预设事件为所述应用客户端需要向所述终端操作系统请求额外处理资源的事件;其中,当所述预设事件为加载多媒体资源时,所述处理资源请求携带有资源类型,所述资源类型为提高CPU运行频率、提高GPU运行频率、将目标线程绑定至目标运行内核中任一项;当所述预设事件为接听语音通话时,所述处理资源请求携带有事件标准值,所述事件标准值用于指示所述预设事件的触发操作;所述资源处理请求是由所述应用客户端基于java原生接口,通过第一API向第二API发送,再基于进程间通信,通过所述第二API,向所述终端操作系统的第三API发送的,所述第一API用于管理所述应用客户端的处理资源请求,所述第二API用于与所述终端操作系统建立进程间通信,所述第三API用于与所述应用客户端建立进程间通信;
所述终端操作系统解析所述处理资源请求;
所述终端操作系统基于所述处理资源请求,分配用于处理所述待处理的事件的目标处理资源,所述目标处理资源与所述处理资源请求相匹配。
9.根据权利要求8所述的方法,其特征在于,当所述事件为加载多媒体资源时,所述处理资源请求携带资源类型、资源参数和目标持续时长;或,
当所述事件为加载视频资源时,所述处理资源请求携带资源类型、资源参数、目标持续时长和编解码参数,所述编解码参数用于配置视频编解码器。
10.根据权利要求9所述的方法,其特征在于,当所述资源类型为第一类型时,所述资源参数为CPU频率等级,所述第一类型用于指示提高CPU运行频率;或,
当所述资源类型为第二类型时,所述资源参数为GPU频率等级,所述第二类型用于指示提高GPU运行频率;或,
当所述资源类型为第三类型时,所述资源参数为目标线程的线程号,所述第三类型用于指示将所述目标线程绑定至目标运行内核,所述目标线程为执行所述事件的线程。
11.根据权利要求10所述的方法,其特征在于,所述基于所述处理资源请求,分配用于处理所述事件的目标处理资源包括:
当所述资源类型为所述第一类型时,通过调用第一函数,在所述目标持续时长内,将CPU频率调整至所述CPU频率等级,所述第一函数为用于调整CPU频率的impl实现类;或,
当所述资源类型为所述第二类型时,通过调用第二函数,在所述目标持续时长内,将GPU频率调整至所述GPU频率等级,所述第二函数为用于调整GPU频率的impl实现类;或,
当所述资源类型为所述第三类型时,通过调用第三函数,在所述目标持续时长内,将所述目标线程绑定至所述目标运行内核,所述第三函数为用于绑定运行内核的impl实现类。
12.一种事件处理装置,其特征在于,所述装置安装有终端操作系统和应用客户端,所述装置包括:
检测模块,用于所述应用客户端按照预设规则对待处理的事件进行检测,所述待处理的事件是所述应用客户端在运行过程中所需要处理的任一事件,所述预设规则为当前所占用的处理资源不能满足所述待处理的事件对处理资源的需求;当检测到所述待处理的事件符合预设规则时,将所述待处理的事件确定为预设事件;
发送模块包括第一发送单元和第二发送单元;
所述第一发送单元,用于根据所述预设事件,基于java原生接口,通过第一API向第二API发送所述处理资源请求,所述第一API用于管理应用客户端的处理资源请求,所述第二API用于与所述终端操作系统建立进程间通信,所述处理资源请求用于指示处理所述预设事件所需的处理资源,所述预设事件为所述应用客户端需要向所述终端操作系统请求额外处理资源的事件;其中,当所述预设事件为加载多媒体资源时,所述处理资源请求携带有资源类型,所述资源类型为提高CPU运行频率、提高GPU运行频率、将目标线程绑定至目标运行内核中任一项;当所述预设事件为接听语音通话时,所述处理资源请求携带有事件标准值,所述事件标准值用于指示所述预设事件的触发操作;
所述第二发送单元,用于基于进程间通信,通过所述第二API,向所述终端操作系统的第三API发送所述处理资源请求,所述第三API用于与所述应用客户端建立进程间通信;
处理模块,用于所述应用客户端基于所述终端操作系统分配的用于处理所述待处理的事件的目标处理资源,对所述待处理的事件进行处理,所述目标处理资源与所述处理资源请求相匹配。
13.根据权利要求12所述的装置,其特征在于,当所述事件为加载多媒体资源时,所述处理资源请求携带资源类型、资源参数和目标持续时长;或,
当所述事件为加载视频资源时,所述处理资源请求携带资源类型、资源参数、目标持续时长和编解码参数,所述编解码参数用于配置视频编解码器。
14.根据权利要求13所述的装置,其特征在于,当所述资源类型为第一类型时,所述资源参数为CPU频率等级,所述第一类型用于指示提高CPU运行频率;或,
当所述资源类型为第二类型时,所述资源参数为GPU频率等级,所述第二类型用于指示提高GPU运行频率;或,
当所述资源类型为第三类型时,所述资源参数为目标线程的线程号,所述第三类型用于指示将所述目标线程绑定至目标运行内核,所述目标线程为执行所述事件的线程。
15.根据权利要求14所述的装置,其特征在于,所述处理模块还用于:
当所述资源类型为所述第一类型时,基于与所述CPU频率等级和所述目标持续时长相匹配的目标处理资源,对所述事件进行处理。
16.根据权利要求14所述的装置,其特征在于,所述处理模块还用于:
当所述资源类型为所述第二类型时,基于与所述GPU频率等级和所述目标持续时长相匹配的目标处理资源,对所述事件进行处理。
17.根据权利要求14所述的装置,其特征在于,所述处理模块还用于:
当所述资源类型为所述第三类型时,基于与所述目标运行内核和所述目标持续时长相匹配的目标处理资源,对与所述目标线程对应的所述事件进行处理。
18.根据权利要求12所述的装置,其特征在于,所述处理资源请求携带事件标准值,所述事件标准值用于指示所述事件的触发操作;或,
所述处理资源请求携带I/O频率,所述I/O频率用于指示终端存储设备的传输频率。
19.一种事件处理装置,其特征在于,所述装置安装有终端操作系统和应用客户端,所述装置包括:
接收模块,用于所述终端操作系统接收所述应用客户端的处理资源请求,所述处理资源请求用于指示处理事件所需的处理资源,所述处理资源请求在所述应用客户端按照预设规则检测到的待处理的事件为预设事件时触发,所述待处理的事件是所述应用客户端在运行过程中所需要处理的任一事件,所述预设规则为当前所占用的处理资源不能满足所述待处理的事件对处理资源的需求,所述预设事件满足所述预设规则,所述预设事件为所述应用客户端需要向所述终端操作系统请求额外处理资源的事件;其中,当所述预设事件为加载多媒体资源时,所述处理资源请求携带有资源类型,所述资源类型为提高CPU运行频率、提高GPU运行频率、将目标线程绑定至目标运行内核中任一项;当所述预设事件为接听语音通话时,所述处理资源请求携带有事件标准值,所述事件标准值用于指示所述预设事件的触发操作;所述资源处理请求是由所述应用客户端基于java原生接口,通过第一API向第二API发送,再基于进程间通信,通过所述第二API,向所述终端操作系统的第三API发送的,所述第一API用于管理所述应用客户端的处理资源请求,所述第二API用于与所述终端操作系统建立进程间通信,所述第三API用于与所述应用客户端建立进程间通信;
解析模块,用于所述终端操作系统解析所述处理资源请求;
分配模块,用于所述终端操作系统基于所述处理资源请求,分配用于处理所述事件的目标处理资源,所述目标处理资源与所述处理资源请求相匹配。
20.根据权利要求19所述的装置,其特征在于,当所述事件为加载多媒体资源时,所述处理资源请求携带资源类型、资源参数和目标持续时长;或,
当所述事件为加载视频资源时,所述处理资源请求携带资源类型、资源参数、目标持续时长和编解码参数,所述编解码参数用于配置视频编解码器。
21.根据权利要求20所述的装置,其特征在于,当所述资源类型为第一类型时,所述资源参数为CPU频率等级,所述第一类型用于指示提高CPU运行频率;或,
当所述资源类型为第二类型时,所述资源参数为GPU频率等级,所述第二类型用于指示提高GPU运行频率;或,
当所述资源类型为第三类型时,所述资源参数为目标线程的线程号,所述第三类型用于指示将所述目标线程绑定至目标运行内核,所述目标线程为执行所述事件的线程。
22.根据权利要求21所述的装置,其特征在于,所述分配模块还用于:
当所述资源类型为所述第一类型时,通过调用第一函数,在所述目标持续时长内,将CPU频率调整至所述CPU频率等级,所述第一函数为用于调整CPU频率的impl实现类;或,
当所述资源类型为所述第二类型时,通过调用第二函数,在所述目标持续时长内,将GPU频率调整至所述GPU频率等级,所述第二函数为用于调整GPU频率的impl实现类;或,
当所述资源类型为所述第三类型时,通过调用第三函数,在所述目标持续时长内,将所述目标线程绑定至所述目标运行内核,所述第三函数为用于绑定运行内核的impl实现类。
23.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至权利要求7或权利要求8至权利要求11任一项所述的事件处理方法。
24.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求7或权利要求8至权利要求11任一项所述的事件处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910012696.2A CN110413383B (zh) | 2019-01-07 | 2019-01-07 | 事件处理方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910012696.2A CN110413383B (zh) | 2019-01-07 | 2019-01-07 | 事件处理方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413383A CN110413383A (zh) | 2019-11-05 |
CN110413383B true CN110413383B (zh) | 2023-09-05 |
Family
ID=68357521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910012696.2A Active CN110413383B (zh) | 2019-01-07 | 2019-01-07 | 事件处理方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110413383B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111240752B (zh) * | 2019-12-31 | 2021-08-17 | 北京元心科技有限公司 | 操作系统自适配方法及系统 |
CN111432170B (zh) * | 2020-02-14 | 2022-04-29 | 浙江大华技术股份有限公司 | 一种媒体数据访问处理方法及装置 |
CN111796919A (zh) * | 2020-06-19 | 2020-10-20 | 浙江大华技术股份有限公司 | 一种智能算法的调度方法及装置 |
CN117616420A (zh) * | 2022-05-19 | 2024-02-27 | 北京小米移动软件有限公司 | 操作系统性能检测方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008156402A1 (en) * | 2007-06-19 | 2008-12-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and systems for scheduling resources in a telecommunication system |
CN104519124A (zh) * | 2014-11-27 | 2015-04-15 | 广州华多网络科技有限公司 | 一种虚拟资源的分配方法以及装置 |
CN108401261A (zh) * | 2018-02-28 | 2018-08-14 | 武汉虹信通信技术有限责任公司 | 一种信令的交互方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009151560A (ja) * | 2007-12-20 | 2009-07-09 | Hitachi Ltd | リソースの管理方法、情報処理システム、情報処理装置、及びプログラム |
-
2019
- 2019-01-07 CN CN201910012696.2A patent/CN110413383B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008156402A1 (en) * | 2007-06-19 | 2008-12-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and systems for scheduling resources in a telecommunication system |
CN104519124A (zh) * | 2014-11-27 | 2015-04-15 | 广州华多网络科技有限公司 | 一种虚拟资源的分配方法以及装置 |
CN108401261A (zh) * | 2018-02-28 | 2018-08-14 | 武汉虹信通信技术有限责任公司 | 一种信令的交互方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
Android事件处理过程剖析;李艳丽;《长春理工大学学报(自然科学版)》;第33卷(第3期);第159-162页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110413383A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413383B (zh) | 事件处理方法、装置、终端及存储介质 | |
CN113726950B (zh) | 一种图像处理方法和电子设备 | |
JP7369281B2 (ja) | デバイス能力スケジューリング方法および電子デバイス | |
CN112527476B (zh) | 资源调度方法及电子设备 | |
CN113254120B (zh) | 数据处理方法和相关装置 | |
EP4246957A1 (en) | Photographing method, system, and electronic device | |
WO2021185244A1 (zh) | 一种设备交互的方法和电子设备 | |
US20230418696A1 (en) | Method for performing drawing operation by application and electronic device | |
JP7100154B6 (ja) | プロセッサコアのスケジューリング方法、装置、端末及び記憶媒体 | |
CN116055773A (zh) | 一种多屏协同方法、系统及电子设备 | |
CN116360725B (zh) | 显示交互系统、显示方法及设备 | |
CN110989961A (zh) | 一种声音处理方法及其装置 | |
US20230385112A1 (en) | Memory Management Method, Electronic Device, and Computer-Readable Storage Medium | |
US20240237115A1 (en) | Message Push Method and Apparatus | |
CN110413420B (zh) | 数据传输方法、装置、终端及存储介质 | |
KR20210019105A (ko) | 데이터 송신 방법 및 전자 기기 | |
CN115756268A (zh) | 跨设备交互的方法、装置、投屏系统及终端 | |
CN117130773A (zh) | 资源分配方法、装置和设备 | |
WO2022110939A1 (zh) | 一种设备推荐方法及电子设备 | |
CN115333941A (zh) | 获取应用运行情况的方法及相关设备 | |
CN115390737A (zh) | 一种电子设备控制方法及电子设备 | |
CN115119048B (zh) | 一种视频流处理方法及电子设备 | |
CN116700913B (zh) | 嵌入式文件系统的调度方法、设备及存储介质 | |
CN115086888B (zh) | 消息通知方法与装置、电子设备 | |
WO2022227978A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |