进程间通信的优化方法、电子装置以及可读存储介质制造方法及图纸

技术编号:19778174 阅读:18 留言:0更新日期:2018-12-15 11:16
本申请公开了一种进程间通信的优化方法,该优化方法包括:获取服务端的可用binder线程的第一数量;其中,binder线程由服务端提供,并用于响应客户端发送的binder请求以实现客户端与服务端之间的通信;根据第一数量在第一数量与优先级别对应关系表中查找对应的第一目标优先级别;将服务端的优先级别设定为第一目标优先级别,其中,第一数量越小,对应的第一目标优先级别越高。本申请还公开了一种电子装置和一种可读存储介质。通过上述方式,本申请避免服务端过于繁忙导致的系统卡顿或者崩溃,能够提升系统的性能。

【技术实现步骤摘要】
进程间通信的优化方法、电子装置以及可读存储介质
本专利技术涉及电子设备
,特别是涉及一种进程间通信的优化方法、电子装置及计算机可读存储介质。
技术介绍
目前,随着科学技术的不断发展,智能手机等电子装置日渐成为人们日常生活的必需品。安卓系统是智能手机等电子装置的一种常见的操作系统,安卓系统中的两个进程之间通常需要进行通信,进程之间的用户空间是不能共享的,因此两个进程之间的通信通常需要Binder机制来实现通信。在进程间通信繁忙时,导致电子装置的系统出现卡顿甚至崩溃的情况,严重影响用户体验。
技术实现思路
本申请实施例采用的一个技术方案是:提供一种进程间通信的优化方法,该优化方法包括:获取服务端的可用binder线程的第一数量;其中,binder线程由服务端提供,并用于响应客户端发送的binder请求以实现客户端与服务端之间的通信;根据第一数量在第一数量与优先级别对应关系表中查找对应的第一目标优先级别;将服务端的优先级别设定为第一目标优先级别,其中,第一数量越小,对应的第一目标优先级别越高。本申请实施例采用的另一个技术方案是:提供一种电子装置,电子装置包括:获取模块,用于获取服务端的可用binder线程的第一数量;其中,binder线程由服务端提供,并用于响应客户端发送的binder请求以实现客户端与服务端之间的通信;查找模块,用于根据第一数量在第一数量与优先级别对应关系表中查找对应的第一目标优先级别;设置模块,用于将服务端的优先级别设定为第一目标优先级别,其中,第一数量越小,对应的第一目标优先级别越高。本申请实施例采用的又一个技术方案是:提供一种电子装置,该电子装置包括处理器和与处理器连接的存储器,存储器用于存储计算机程序,处理器用于执行计算机程序以实现上述的优化方法。本申请实施例采用的又一个技术方案是:一种计算机可读存储介质,计算机可读存储介质用于存储计算机程序,计算机程序能够被执行以实现上述的方法。本申请实施例通过获取服务端的可用binder线程的第一数量;其中,binder线程由服务端提供,并用于响应客户端发送的binder请求以实现客户端与服务端之间的通信;根据第一数量在第一数量与优先级别对应关系表中查找对应的第一目标优先级别;将服务端的优先级别设定为第一目标优先级别,其中,第一数量越小,对应的第一目标优先级别越高,能够避免服务端过于繁忙导致的系统卡顿或者崩溃,且能够提升系统的性能。附图说明图1是本申请第一实施例的进程间通信的优化方法的流程示意图;图2是本申请实施例中进程间通信的原理示意图;图3是Binder通信机制的原理示意图;图4是客户端和服务端的交互示意图;图5是本申请第二实施例的进程间通信的优化方法的流程示意图;图6是本申请第三实施例的进程间通信的优化方法的流程示意图;图7是本申请实施例电子装置的模块示意图;图8是本申请实施例电子装置的硬件结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。请参阅图1,图1是本申请第一实施例的进程间通信的优化方法的流程示意图。在本实施例中,进程间通信的优化方法可以包括以下步骤:步骤101:获取服务端的可用binder线程的第一数量;其中,binder线程由服务端提供,并用于响应客户端发送的binder请求以实现客户端与服务端之间的通信。其中,Binder机制是安卓系统中进程间通讯(IPC)的一种方式。安卓系统中的四大组件分别为:Activity(工作流)、Service(服务)、Broadcast(广播接收器)、ContentProvider(内容提供者)、不同的App(应用程序)。这四大组件都运行在不同的进程中,Binder机制是这些进程间通讯的桥梁。如图2所示,图2是本申请实施例中进程间通信的原理示意图,每个安卓系统的进程,只能运行在自己进程所拥有的虚拟地址空间。虚拟地址空间包括彼此独立的用户空间和内核空间。对于用户空间,客户端进程和服务端进程之间彼此是不能共享的,而客户端进程和服务端进程之间的内核空间却是可共享的。客户端进程与服务端进程的每一次通信都要通过位于内核空间的Binder驱动程序来实现。基于上述binder机制的原理,不难理解,客户端进程和服务端进程可以是任意两个进程,可以是应用,也可以是服务,例如,可以是应用与应用之间的通信,也可以是应用与服务之间的通信。进一步参阅图3,图3是Binder通信机制的原理示意图,Binder通信采用C/S架构,从组件视角来说,包含Client进程(客户端进程)、Server进程(服务端进程)、ServiceManager(服务管理)以及binder驱动程序,其中ServiceManager用于管理系统中的各种服务。其中,Client进程为使用服务的进程。Server进程为提供服务的进程。ServiceManager进程的作用是将字符形式的Binder名字转化成Client中对该Binder的引用,使得Client能够通过Binder名字获得对Server中Binder实体的引用。Binder驱动程序负责进程之间Binder通信的建立,Binder在进程之间的传递,Binder引用计数管理,数据包在进程之间的传递和交互等一系列底层支持。在基于binder机制的通信过程中,主要包括以下三个过程:注册服务(addService):Server进程要先注册Service到ServiceManager。该过程:Server是客户端,ServiceManager是服务端。获取服务(getService):Client进程使用某个Service前,须先向ServiceManager中获取相应的Service。该过程:Client是客户端,ServiceManager是服务端。使用服务:Client根据得到的Service信息建立与Service所在的Server进程通信的通路,然后就可以直接与Service交互。该过程:client是客户端,server是服务端。可以理解的,图3中的Client、Server、ServiceManager之间交互都是虚线表示,是由于它们彼此之间不本文档来自技高网...

【技术保护点】
1.一种进程间通信的优化方法,其特征在于,所述优化方法包括:获取服务端的可用binder线程的第一数量;其中,所述binder线程由所述服务端提供,并用于响应客户端发送的binder请求以实现所述客户端与所述服务端之间的通信;根据所述第一数量在第一数量与优先级别对应关系表中查找对应的第一目标优先级别;将所述服务端的优先级别设定为第一目标优先级别,其中,所述第一数量越小,对应的所述第一目标优先级别越高。

【技术特征摘要】
1.一种进程间通信的优化方法,其特征在于,所述优化方法包括:获取服务端的可用binder线程的第一数量;其中,所述binder线程由所述服务端提供,并用于响应客户端发送的binder请求以实现所述客户端与所述服务端之间的通信;根据所述第一数量在第一数量与优先级别对应关系表中查找对应的第一目标优先级别;将所述服务端的优先级别设定为第一目标优先级别,其中,所述第一数量越小,对应的所述第一目标优先级别越高。2.根据权利要求1所述的优化方法,其特征在于,所述优化方法进一步包括:获取所述客户端所耗用的binder线程的第二数量;根据所述第二数量在第二数量与优先级别对应关系表中查找对应的第二目标优先级别;将所述客户端的优先级别设定为第二目标优先级别,其中,所述第二数量越大,对应的所述第二目标优先级别越低。3.根据权利要求1所述的优化方法,其特征在于,所述优化方法进一步包括:获取所述客户端所耗用的binder线程的第二数量;判断所述第二数量是否大于设定数量;若是,则限制所述客户端与所述服务端之间的binder通信。4.根据权利要求3所述的优化方法,其特征在于,所述限制所述客户端与所述服务端之间的binder通信的步骤,包括:对所述客户端进行关闭处理。5.根据权利要求3所述的优化方法,其特征在于,所述限制所述客户端与所述服务端之间的binder通信的步骤,包括:限制所述客户端耗用的binder线程数量。6.根据权利要求5所述的优化方法,其特征在于,所述限制所述客户端耗用的binder线程数量的步骤,包括:每当所述客户端向所述服务端发送binder请求时,截获所述binder请求,并将所述binder请求加入等待队列的末端,其中,在设定时间之后处理...

【专利技术属性】
技术研发人员:周明君方攀陈岩
申请(专利权)人:OPPO重庆智能科技有限公司
类型:发明
国别省市:重庆,50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1