CN112596931B - 一种跨进程通信方法、装置、电子设备及存储介质 - Google Patents
一种跨进程通信方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112596931B CN112596931B CN202011636882.2A CN202011636882A CN112596931B CN 112596931 B CN112596931 B CN 112596931B CN 202011636882 A CN202011636882 A CN 202011636882A CN 112596931 B CN112596931 B CN 112596931B
- Authority
- CN
- China
- Prior art keywords
- target
- demand
- content
- manager
- cross
- 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
Images
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/54—Interprogram communication
-
- 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/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种跨进程通信方法、装置、电子设备及存储介质,其中,在跨进程通信方法中,内容提供者接收需求进程发送的调用请求,并向管理器发送所述目标进程的方法特征,以使所述管理器根据所述目标进程的方法特征确定目标操作入口,接收所述管理器反馈的所述目标操作入口,这样就可以通过所述目标进程的操作入口调用所述目标进程的方法内容,以实现所述需求进程与所述目标进程之间的跨进程通信。可见,本实施例仅需要需求进程与管理器之间的一次IPC,就可以完成对目标进程的调用,跨进程通信效率更高。
Description
技术领域
本申请涉及应用程序开发领域,尤其涉及一种跨进程通信方法、装置、电子设备及存储介质。
背景技术
跨进程通信(Inter-Process Communication,IPC)是指至少两个进程之间传送数据或信号的技术或方法,为了完善应用程序的性能,在很多情况下需要调用远程服务,远程服务与调用者分别运行在不同的进程,此时,调用者对远程服务的调用过程就是跨进程通信,例如多个应用程序共享同一个后台服务(远程服务),即一个远程服务与多个应用程序进行跨进程通信。
为了实现远程服务与应用程序进行跨进程通信,需要使用接口定义语言(AndroidInterface Definition Language,AIDL),使用AIDL实现跨进程通信的过程中,需要在客户端和服务器之间建立一个管理器,通常这个管理器也运行在一个独立的进程下,该进程与客户端和服务器的进程均不同,客户端与服务器之间的通信需要通过这个管理器来转发,即客户端与服务器之间的跨进程通信包括客户端与管理器之间的通信以及管理器与服务器之间的通信,上述每个通信过程都是一次IPC,可见,客户端与服务器之间的跨进程通信至少需要经历两次IPC,通信效率较低。
发明内容
本申请提供了一种跨进程通信方法、装置、电子设备及存储介质,以提高跨进程通信的效率。
第一方面,本发明实施例提供了一种跨进程通信方法,应用于内容提供者,所述方法包括:
接收需求进程发送的调用请求,所述调用请求包括所述需求进程所要调用的目标进程的方法特征,所述方法特征用于标识进程的方法内容,所述方法内容是指用于实现进程相应功能的逻辑;
向管理器发送所述目标进程的方法特征,以使所述管理器根据所述目标进程的方法特征确定目标操作入口,所述管理器用于管理每个进程的路由信息,所述路由信息包括进程的方法特征与操作入口的对应关系,所述操作入口是指用于调用进程的方法内容的入口;
接收所述管理器反馈的所述目标操作入口;
通过所述目标进程的操作入口调用所述目标进程的方法内容,以实现所述需求进程与所述目标进程之间的跨进程通信。
在本发明实施例第一方面一种可能的实现方式中,在所述接收需求进程发送的调用请求之前还包括:
接收所述需求进程发送的内容信息,所述内容信息包括所述需求进程的方法内容;
封装所述需求进程的方法内容,得到所述需求进程的注册信息,所述注册信息包括所述需求进程的方法特征和操作接口;
向所述管理器发送所述需求进程的注册信息,以使所述管理器存储所述需求进程的方法特征和操作接口。
第二方面,本发明实施例提供了一种跨进程通信方法,应用于管理器,所述管理器用于管理每个进程的路由信息,所述路由信息包括进程的方法特征与操作入口的对应关系,所述操作入口是指用于调用进程的方法内容的入口,所述方法包括:
接收内容提供者发送的调用请求,所述内容提供者用于转发需求进程的数据,所述调用请求包括所述需求进程所要调用的目标进程的方法特征,所述方法特征用于标识进程的方法内容,所述方法内容是指用于实现进程相应功能的逻辑;
根据所述目标进程的方法特征,确定目标操作入口;
向所述内容提供者发送所述目标操作入口,以使所述内容提供者通过所述目标进程的操作入口调用所述目标进程的方法内容,以实现所述需求进程与所述目标进程之间的跨进程通信。
在本发明实施例第二方面一种可能的实现方式中,所述根据所述目标进程的方法特征,确定目标操作入口包括:
确定与所述目标进程的方法特征相同的目标方法特征;
根据所述目标方法特征确定对应的目标操作入口。
在本发明实施例第二方面一种可能的实现方式中,所述接收内容提供者发送的调用请求之前还包括:
接收内容提供者发送的注册信息,所述注册信息包括所述需求进程的方法特征和操作入口;
存储所述需求进程的方法特征和操作入口。
在本发明实施例第二方面一种可能的实现方式中,所述存储所述需求进程的方法特征和操作入口包括:
建立所述需求进程的方法特征与操作入口的对应关系,得到所述需求进程的路由信息;
将所述需求进程的路由信息存储至中心路由表,所述中心路由表用于存储每个进程的路由信息。
在本发明实施例第二方面一种可能的实现方式中,所述方法还包括:
按照预设周期更新所述中心路由表,以剔除所述中心路由表中失效的路由信息。
第三方面,本申请实施例提供了一种跨进程通信装置,应用于内容提供者,所述装置包括:
调用请求接收模块,用于接收需求进程发送的调用请求,所述调用请求包括所述需求进程所要调用的目标进程的方法特征,所述方法特征用于标识进程的方法内容,所述方法内容是指用于实现进程相应功能的逻辑;
方法特征发送模块,用于向管理器发送所述目标进程的方法特征,以使所述管理器根据所述目标进程的方法特征确定目标操作入口,所述管理器用于管理每个进程的路由信息,所述路由信息包括进程的方法特征与操作入口的对应关系,所述操作入口是指用于调用进程的方法内容的入口;
目标操作入口接收模块,用于接收所述管理器反馈的所述目标操作入口;
调用模块,用于通过所述目标进程的操作入口调用所述目标进程的方法内容,以实现所述需求进程与所述目标进程之间的跨进程通信。
在本发明实施例第三方面一种可能的实现方式中,所述生成模块包括:
内容信息接收模块,用于接收所述需求进程发送的内容信息,所述内容信息包括所述需求进程的方法内容;
封装模块,用于封装所述需求进程的方法内容,得到所述需求进程的注册信息,所述注册信息包括所述需求进程的方法特征和操作接口;
注册信息发送模块,用于向所述管理器发送所述需求进程的注册信息,以使所述管理器存储所述需求进程的方法特征和操作接口。
第四方面,本申请实施例提供了一种跨进程通信装置,应用于管理器,所述管理器用于管理每个进程的路由信息,所述路由信息包括进程的方法特征与操作入口的对应关系,所述操作入口是指用于调用进程的方法内容的入口,所述装置包括:
请求接收模块,用于接收内容提供者发送的调用请求,所述内容提供者用于转发需求进程的数据,所述调用请求包括所述需求进程所要调用的目标进程的方法特征,所述方法特征用于标识进程的方法内容,所述方法内容是指用于实现进程相应功能的逻辑;
目标操作入口确定模块,用于根据所述目标进程的方法特征,确定目标操作入口;
反馈模块,用于向所述内容提供者发送所述目标操作入口,以使所述内容提供者通过所述目标进程的操作入口调用所述目标进程的方法内容,以实现所述需求进程与所述目标进程之间的跨进程通信。
在本发明实施例第四方面一种可能的实现方式中,所述目标操作入口确定模块包括:
目标方法特征确定模块,用于确定与所述目标进程的方法特征相同的目标方法特征;
确定模块,用于根据所述目标方法特征确定对应的目标操作入口。
在本发明实施例第四方面一种可能的实现方式中,所述装置还包括:
注册信息接收模块,用于接收内容提供者发送的注册信息,所述注册信息包括所述需求进程的方法特征和操作入口;
存储模块,用于存储所述需求进程的方法特征和操作入口。
在本发明实施例第四方面一种可能的实现方式中,所述存储模块包括:
建立模块,用于建立所述需求进程的方法特征与操作入口的对应关系,得到所述需求进程的路由信息;
表存储模块,用于将所述需求进程的路由信息存储至中心路由表,所述中心路由表用于存储每个进程的路由信息。
在本发明实施例第四方面一种可能的实现方式中,所述装置还包括:
更新模块,用于按照预设周期更新所述中心路由表,以剔除所述中心路由表中失效的路由信息。
第五方面,本发明实施例提供了一种电子设备,包括:
处理器,以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行所述的跨进程通信方法。
第六方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的跨进程通信方法。
第七方面,本发明实施例提供了一种电子设备,包括:
处理器,以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行所述的跨进程通信方法。
第八方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的跨进程通信方法。
本发明实施例提供了一种跨进程通信方法、装置、电子设备及存储介质,其中,在跨进程通信方法中,内容提供者接收需求进程发送的调用请求,并向管理器发送所述目标进程的方法特征,以使所述管理器根据所述目标进程的方法特征确定目标操作入口,接收所述管理器反馈的所述目标操作入口,这样就可以通过所述目标进程的操作入口调用所述目标进程的方法内容,以实现所述需求进程与所述目标进程之间的跨进程通信。可见,本实施例仅需要需求进程与管理器之间的一次IPC,就可以完成对目标进程的调用,调用效率更高。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种跨进程通信***的结构示意图;
图2为本申请实施例提供的一种注册进程信息的方法的流程示意图;
图3为本申请实施例提供的一种内容提供者对待注册进程的内容信息的处理方法的流程示意图;
图4为本申请实施例提供的一种管理器生成中心路由表的方法的流程示意图;
图5为本申请实施例提供的一种跨进程通信的方法的流程示意图;
图6为本申请实施例提供的一种确定目标操作入口的方法的流程图;
图7为本申请实施例提供的一种跨进程通信装置实施例一的结构示意图;
图8为本申请实施例提供的一种跨进程通信装置实施例二的结构示意图;
图9为本申请实施例提供的一种跨进程通信装置实施例三的结构示意图;
图10为本申请实施例提供的一种跨进程通信装置实施例四的结构示意图;
图11为本申请实施例提供的一种跨进程通信装置实施例五的结构示意图;
图12为本申请实施例提供的一种跨进程通信装置实施例六的结构示意图;
图13为本申请实施例提供的一种跨进程通信装置实施例七的结构示意图;
图14为本发明实施例提供的电子设备的硬件结构示意图;
图15为本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本申请实施例提供的一种跨进程通信***的结构示意图,如图1所示,所述跨进程通信***包括:需求进程1、管理器2、目标进程3和内容提供者4。需求进程1是指产生跨进程通信需求的进程,相应的,被需求进程1调用的进程可以称为目标进程3。管理器2位于一个单独的进程中,用于管理各个进程的注册信息,管理器2管理的进程包括需求进程1和目标进程3,其中,管理器2位于的进程与其上管理的进程都不同,如图1所示,管理器2中存储有多个进程的注册信息。具体的,管理器2可以按照如下方法来管理各个模块,以需求模块为例进行说明:
图2为本申请实施例提供的一种注册进程信息的方法的流程示意图,如图2所示,所述方法包括:
S101、接收内容提供者发送的注册信息,所述注册信息包括所述需求进程的方法特征和操作入口。
管理器接收内容提供者(Binder Provider)4发送的注册信息,内容提供者4为一个中间层,可以将待注册进程发送的内容信息转化为注册信息,具体如下:
图3为本申请实施例提供的一种内容提供者对待注册进程的内容信息的处理方法的流程示意图,如图3所示,所述方法包括:
S1011、接收所述需求进程发送的内容信息,所述内容信息包括所述需求进程的方法内容;
S1012、封装所述需求进程的方法内容,得到所述需求进程的注册信息,所述注册信息包括所述需求进程的方法特征和操作接口;
S1013、向所述管理器发送所述需求进程的注册信息,以使所述管理器存储所述需求进程的方法特征和操作接口。
待注册进程是指需要在管理器2中进行注册的进程,待注册进程向内容提供者4发送内容信息,该内容信息是指待注册进程的方法内容,通常对方法内容的执行会实现相应的功能,例如调用功能、访问数据等。内容提供者4对待注册进程的方法内容进行封装,以得到待注册进程的注册信息,例如序列化该内容信息,并将序列化后的信息发送至IDispatcherImpl,通过IDispatcherImpl来封装序列化后的信息,以隐藏方法内容中的大量细节,仅提供可以代表该方法内容的方法特征和以及用于调用该方法内容的操作接口,并由方法内容的方法特征和操作接口生成待注册进程的注册信息。这样,就可以通过IDispatcher将注册信息发送至管理器2,以供管理器2进行存储。可见,通过内容提供者4处理后的注册信息更加简短,可以提供根据该注册信息辨识方法内容(进程)的效率。
S102、存储所述需求进程的方法特征和操作入口。
管理器2接收到内容提供者4发送的注册信息之后,就可以存储这些注册信息,可以根据该注册信息生成中心路由表,以便于管理。这样,一旦注册成功的进程就相当于在中心路由表中暴露了自己的操作入口,为其它进程的调用提供了调用入口。
图4为本申请实施例提供的一种管理器生成中心路由表的方法的流程示意图,如图4所示,所述方法包括:
S1021、建立所述需求进程的方法特征与操作入口的对应关系,得到所述需求进程的路由信息;
S1022、将所述需求进程的路由信息存储至中心路由表,所述中心路由表用于存储每个进程的路由信息。
管理器2在接收到注册信息之后,为了可以实现注册信息与进程的精准对应,需要建立相应的对应关系,由上文可知,进程的方法特征可以用于标识进程,进程的操作入口用于调用进程的方法内容,由此,可以建立方法特征与操作入口之间的对应关系,得到进程的路由信息,这样,通过方法特征可以识别出进程,并根据对应关系,可以找到进程对应的操作入口,以调用该进程的方法内容,完成通信。
管理器2对接收到的每个进程的注册信息均经过上述处理,以得到每一个进程的路由信息,并通过汇总这些路由信息,生成中心路由表。进一步地,为了保证中心路由表的有效性,即保证中心路由表中的每个进程都可以调用,以提高需求进程1调用的成功率,管理器2可以按照预设周期来剔除中心路由表中失效的路由信息,以更新中心路由表。
进程的注册过程本身存在鉴权的过程,因此,可以认为注册成功的进程同时具有了可以调用管理器2中其它已经注册的进程。在另一种实现方式中,如果需求进程1未在管理器2中注册,那么如果需要通过管理器2来调用其它进程,就需要首先进行鉴权,以保证跨进程通信的安全性。例如,通过内容提供者4向管理器2发送鉴权信息,只有当管理器2鉴权通过,才允许需求进程1继续进程后续调用过程。
图5为本申请实施例提供的一种跨进程通信的方法的流程示意图,如图5所示,所述方法包括:
S100、接收需求进程发送的调用请求,所述调用请求包括所述需求进程所要调用的目标进程的方法特征,所述方法特征用于标识进程的方法内容,所述方法内容是指用于实现进程相应功能的逻辑。
S200、向管理器发送所述目标进程的方法特征,以使所述管理器根据所述目标进程的方法特征确定目标操作入口,所述管理器用于管理每个进程的路由信息,所述路由信息包括进程的方法特征与操作入口的对应关系,所述操作入口是指用于调用进程的方法内容的入口。
S300、接收所述管理器反馈的所述目标操作入口。
S400、通过所述目标进程的操作入口调用所述目标进程的方法内容,以实现所述需求进程与所述目标进程之间的跨进程通信。
需求进程1向内容提供者4发送调用请求,并在调用请求中声明所要调用的进程的方法特征,以此作为识别目标进程3的标识。内容提供者4将目标进程的方法特征发送至管理器2,就可以由管理器2来确定目标操作入口,具体如下:
图6为本申请实施例提供的一种确定目标操作入口的方法的流程图,如图6所示,所述方法包括:
S201、确定与所述目标进程的方法特征相同的目标方法特征;
S202、根据所述目标方法特征确定对应的目标操作入口。
管理器2根据所要调用的进程的方法特征可以在中心路由表中进行查找,以找到相匹配的操作入口,即目标入口。例如,所要调用的进程的方法特征为a,中心路由表中存储有方法特征a-操作入口a,方法特征b-操作入口b,方法特征c-操作入口c,那么就可以在中心路由表中确定目标操作入口为操作入口a。这样,管理器2就可以将操作入口a反馈至内容提供者4,内容提供者4就可以通过操作入口a来调用相应的方法内容。如果方法特征a对应进程A,那么进程A即为目标进程3,完成上述过程,相当于需求进程1完成了与目标进程3之间的跨进程通信。
在另一种实现方式中,如果管理器2没有在中心路由表中查询到目标操作入口,说明对应于该方法特征的进程还未注册,此时,管理器2可以将该调用请求挂起,并定期到中心路由表中查询,一旦出现目标操作入口,就可以立即访问。可见,在本申请实施例中,需求进程1可以通过管理器2来调用目标进程3的操作接口(通过内容提供者4来实现),以完成与目标进程3之间的跨进程通信,需求进程1与管理器2之间的通信仅为一次IPC,由此,需求进程1仅需一次IPC就可以调用目标进程3,可以有效提高跨进程通信的效率。
图7为本申请实施例提供的一种跨进程通信装置实施例一的结构示意图,所述装置包括:调用请求接收模块10,用于接收需求进程发送的调用请求,所述调用请求包括所述需求进程所要调用的目标进程的方法特征,所述方法特征用于标识进程的方法内容,所述方法内容是指用于实现进程相应功能的逻辑;方法特征发送模块20,用于向管理器发送所述目标进程的方法特征,以使所述管理器根据所述目标进程的方法特征确定目标操作入口,所述管理器用于管理每个进程的路由信息,所述路由信息包括进程的方法特征与操作入口的对应关系,所述操作入口是指用于调用进程的方法内容的入口;目标操作入口接收模块30,用于接收所述管理器反馈的所述目标操作入口;调用模块40,用于通过所述目标进程的操作入口调用所述目标进程的方法内容,以实现所述需求进程与所述目标进程之间的跨进程通信。
图8为本申请实施例提供的一种跨进程通信装置实施例二的结构示意图,所述装置还包括:内容信息接收模块50,用于接收所述需求进程发送的内容信息,所述内容信息包括所述需求进程的方法内容;封装模块60,用于封装所述需求进程的方法内容,得到所述需求进程的注册信息,所述注册信息包括所述需求进程的方法特征和操作接口;注册信息发送模块70,用于向所述管理器发送所述需求进程的注册信息,以使所述管理器存储所述需求进程的方法特征和操作接口。
图9为本申请实施例提供的一种跨进程通信装置实施例三的结构示意图,应用于管理器,所述管理器用于管理每个进程的路由信息,所述路由信息包括进程的方法特征与操作入口的对应关系,所述操作入口是指用于调用进程的方法内容的入口,所述装置包括:请求接收模块11,用于接收内容提供者发送的调用请求,所述内容提供者用于转发需求进程的数据,所述调用请求包括所述需求进程所要调用的目标进程的方法特征,所述方法特征用于标识进程的方法内容,所述方法内容是指用于实现进程相应功能的逻辑;目标操作入口确定模块22,用于根据所述目标进程的方法特征,确定目标操作入口;反馈模块33,用于向所述内容提供者发送所述目标操作入口,以使所述内容提供者通过所述目标进程的操作入口调用所述目标进程的方法内容,以实现所述需求进程与所述目标进程之间的跨进程通信。
图10为本申请实施例提供的一种跨进程通信装置实施例四的结构示意图,所述目标操作入口确定模块22包括:目标方法特征确定模块221,用于确定与所述目标进程的方法特征相同的目标方法特征;确定模块222,用于根据所述目标方法特征确定对应的目标操作入口。
图11为本申请实施例提供的一种跨进程通信装置实施例五的结构示意图,所述装置还包括:注册信息接收模块44,用于接收内容提供者发送的注册信息,所述注册信息包括所述需求进程的方法特征和操作入口;存储模块55,用于存储所述需求进程的方法特征和操作入口。
图12为本申请实施例提供的一种跨进程通信装置实施例六的结构示意图,所述存储模块55包括:建立模块551,用于建立所述需求进程的方法特征与操作入口的对应关系,得到所述需求进程的路由信息;表存储模块552,用于将所述需求进程的路由信息存储至中心路由表,所述中心路由表用于存储每个进程的路由信息。
图13为本申请实施例提供的一种跨进程通信装置实施例七的结构示意图,所述装置还包括:更新模块66,用于按照预设周期更新所述中心路由表,以剔除所述中心路由表中失效的路由信息。
图14为本发明实施例提供的电子设备的硬件结构示意图。该电子设备应用在内容提供者,包括:存储器101和处理器102;
存储器101,用于存储计算机程序;
处理器102,用于执行存储器存储的计算机程序,以实现上述实施例中的跨进程通信方法。具体可以参见前述方法实施例中的相关描述。
可选地,存储器101既可以是独立的,也可以跟处理器102集成在一起。
当所述存储器101是独立于处理器102之外的器件时,所述电子设备还可以包括:
总线103,用于连接所述存储器101和处理器102。
图15为本发明实施例提供的电子设备的硬件结构示意图。该电子设备应用在管理器,包括:存储器201和处理器202;
存储器201,用于存储计算机程序;
处理器202,用于执行存储器存储的计算机程序,以实现上述实施例中的跨进程通信方法。具体可以参见前述方法实施例中的相关描述。
可选地,存储器201既可以是独立的,也可以跟处理器202集成在一起。
当所述存储器201是独立于处理器202之外的器件时,所述电子设备还可以包括:
总线203,用于连接所述存储器201和处理器202。
本发明实施例提供的电子设备可用于执行上述实施例中任一所示的跨进程通信方法,其实现方式和技术效果类似,本发明实施例此处不再赘述。
本发明实施例还提供一种可读存储介质,可读存储介质中存储有计算机程序,当消息发送的装置的至少一个处理器执行该计算机程序时,消息发送的装置执行上述实施例任一所述的跨进程通信方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于以计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换,而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (18)
1.一种跨进程通信方法,其特征在于,应用于至少一个内容提供者,所述至少一个内容提供者与同一个管理器通信,所述方法包括:
接收对应的需求进程发送的调用请求,所述调用请求包括所述需求进程所要调用的目标进程的方法特征,所述方法特征用于标识进程的方法内容,所述方法内容是指用于实现进程相应功能的逻辑;
向所述管理器发送所述目标进程的方法特征,以使所述管理器根据所述目标进程的方法特征确定目标操作入口,所述管理器位于一个单独的进程中,用于管理各进程的路由信息,所述路由信息包括进程的方法特征与操作入口的对应关系,所述操作入口是指用于调用进程的方法内容的入口;
接收所述管理器反馈的所述目标操作入口;
通过所述目标进程的操作入口调用所述目标进程的方法内容,以实现所述需求进程与所述目标进程之间的跨进程通信。
2.根据权利要求1所述的方法,其特征在于,在所述接收需求进程发送的调用请求之前还包括:
接收所述需求进程发送的内容信息,所述内容信息包括所述需求进程的方法内容;
封装所述需求进程的方法内容,得到所述需求进程的注册信息,所述注册信息包括所述需求进程的方法特征和操作接口;
向所述管理器发送所述需求进程的注册信息,以使所述管理器存储所述需求进程的方法特征和操作接口。
3.一种跨进程通信方法,其特征在于,应用于管理器,所述管理器与至少一个内容提供者通信,用于管理各进程的路由信息,所述路由信息包括进程的方法特征与操作入口的对应关系,所述操作入口是指用于调用进程的方法内容的入口,所述方法包括:
接收所述内容提供者发送的调用请求,所述内容提供者用于转发对应的需求进程的数据,所述调用请求包括所述需求进程所要调用的目标进程的方法特征,所述方法特征用于标识进程的方法内容,所述方法内容是指用于实现进程相应功能的逻辑;
根据所述目标进程的方法特征,确定目标操作入口;
向所述内容提供者发送所述目标操作入口,以使所述内容提供者通过所述目标进程的操作入口调用所述目标进程的方法内容,以实现所述需求进程与所述目标进程之间的跨进程通信。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标进程的方法特征,确定目标操作入口包括:
确定与所述目标进程的方法特征相同的目标方法特征;
根据所述目标方法特征确定对应的目标操作入口。
5.根据权利要求3所述的方法,其特征在于,所述接收内容提供者发送的调用请求之前还包括:
接收内容提供者发送的注册信息,所述注册信息包括所述需求进程的方法特征和操作入口;
存储所述需求进程的方法特征和操作入口。
6.根据权利要求5所述的方法,其特征在于,所述存储所述需求进程的方法特征和操作入口包括:
建立所述需求进程的方法特征与操作入口的对应关系,得到所述需求进程的路由信息;
将所述需求进程的路由信息存储至中心路由表,所述中心路由表用于存储每个进程的路由信息。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
按照预设周期更新所述中心路由表,以剔除所述中心路由表中失效的路由信息。
8.一种跨进程通信装置,其特征在于,应用于至少一个内容提供者,所述至少一个内容提供者与同一个管理器通信,所述装置包括:
调用请求接收模块,用于接收对应的需求进程发送的调用请求,所述调用请求包括所述需求进程所要调用的目标进程的方法特征,所述方法特征用于标识进程的方法内容,所述方法内容是指用于实现进程相应功能的逻辑;
方法特征发送模块,用于向所述管理器发送所述目标进程的方法特征,以使所述管理器根据所述目标进程的方法特征确定目标操作入口,所述管理器位于一个单独的进程中,用于管理各进程的路由信息,所述路由信息包括进程的方法特征与操作入口的对应关系,所述操作入口是指用于调用进程的方法内容的入口;
目标操作入口接收模块,用于接收所述管理器反馈的所述目标操作入口;
调用模块,用于通过所述目标进程的操作入口调用所述目标进程的方法内容,以实现所述需求进程与所述目标进程之间的跨进程通信。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
内容信息接收模块,用于接收所述需求进程发送的内容信息,所述内容信息包括所述需求进程的方法内容;
封装模块,用于封装所述需求进程的方法内容,得到所述需求进程的注册信息,所述注册信息包括所述需求进程的方法特征和操作接口;
注册信息发送模块,用于向所述管理器发送所述需求进程的注册信息,以使所述管理器存储所述需求进程的方法特征和操作接口。
10.一种跨进程通信装置,其特征在于,应用于管理器,所述管理器与至少一个内容提供者通信,用于管理各进程的路由信息,所述路由信息包括进程的方法特征与操作入口的对应关系,所述操作入口是指用于调用进程的方法内容的入口,所述装置包括:
请求接收模块,用于接收所述内容提供者发送的调用请求,所述内容提供者用于转发对应的需求进程的数据,所述调用请求包括所述需求进程所要调用的目标进程的方法特征,所述方法特征用于标识进程的方法内容,所述方法内容是指用于实现进程相应功能的逻辑;
目标操作入口确定模块,用于根据所述目标进程的方法特征,确定目标操作入口;
反馈模块,用于向所述内容提供者发送所述目标操作入口,以使所述内容提供者通过所述目标进程的操作入口调用所述目标进程的方法内容,以实现所述需求进程与所述目标进程之间的跨进程通信。
11.根据权利要求10所述的装置,其特征在于,所述目标操作入口确定模块包括:
目标方法特征确定模块,用于确定与所述目标进程的方法特征相同的目标方法特征;
确定模块,用于根据所述目标方法特征确定对应的目标操作入口。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:
注册信息接收模块,用于接收内容提供者发送的注册信息,所述注册信息包括所述需求进程的方法特征和操作入口;
存储模块,用于存储所述需求进程的方法特征和操作入口。
13.根据权利要求12所述的装置,其特征在于,所述存储模块包括:
建立模块,用于建立所述需求进程的方法特征与操作入口的对应关系,得到所述需求进程的路由信息;
表存储模块,用于将所述需求进程的路由信息存储至中心路由表,所述中心路由表用于存储每个进程的路由信息。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
更新模块,用于按照预设周期更新所述中心路由表,以剔除所述中心路由表中失效的路由信息。
15.一种电子设备,其特征在于,所述电子设备包括:
处理器,以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-2任一所述的跨进程通信方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-2任一所述的跨进程通信方法。
17.一种电子设备,其特征在于,所述电子设备包括:
处理器,以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求3-7任一所述的跨进程通信方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求3-7任一所述的跨进程通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011636882.2A CN112596931B (zh) | 2020-12-31 | 2020-12-31 | 一种跨进程通信方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011636882.2A CN112596931B (zh) | 2020-12-31 | 2020-12-31 | 一种跨进程通信方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112596931A CN112596931A (zh) | 2021-04-02 |
CN112596931B true CN112596931B (zh) | 2023-04-07 |
Family
ID=75206709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011636882.2A Active CN112596931B (zh) | 2020-12-31 | 2020-12-31 | 一种跨进程通信方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112596931B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988907B (zh) * | 2021-04-28 | 2022-01-21 | 北京卡普拉科技有限公司 | 一种信息调整方法、***、电子设备及存储介质 |
CN113821357B (zh) * | 2021-09-23 | 2024-06-07 | 瑞芯微电子股份有限公司 | 基于socket的跨进程通信方法、介质及电子设备 |
CN116048744B (zh) * | 2022-08-19 | 2023-09-12 | 荣耀终端有限公司 | 一种图像获取方法及相关电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101087314A (zh) * | 2007-05-15 | 2007-12-12 | 华为技术有限公司 | 一种应用程序跨进程使用套接字服务的***及方法 |
CN110309006A (zh) * | 2019-06-28 | 2019-10-08 | 百度在线网络技术(北京)有限公司 | 一种功能调用方法、装置、终端设备及存储介质 |
CN110377438A (zh) * | 2019-07-22 | 2019-10-25 | 广州小鹏汽车科技有限公司 | 跨进程通信接口的路由方法、装置和*** |
CN111936967A (zh) * | 2018-04-10 | 2020-11-13 | 微软技术许可有限责任公司 | 用于非兼容框架的跨进程接口 |
-
2020
- 2020-12-31 CN CN202011636882.2A patent/CN112596931B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101087314A (zh) * | 2007-05-15 | 2007-12-12 | 华为技术有限公司 | 一种应用程序跨进程使用套接字服务的***及方法 |
CN111936967A (zh) * | 2018-04-10 | 2020-11-13 | 微软技术许可有限责任公司 | 用于非兼容框架的跨进程接口 |
CN110309006A (zh) * | 2019-06-28 | 2019-10-08 | 百度在线网络技术(北京)有限公司 | 一种功能调用方法、装置、终端设备及存储介质 |
CN110377438A (zh) * | 2019-07-22 | 2019-10-25 | 广州小鹏汽车科技有限公司 | 跨进程通信接口的路由方法、装置和*** |
Also Published As
Publication number | Publication date |
---|---|
CN112596931A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112596931B (zh) | 一种跨进程通信方法、装置、电子设备及存储介质 | |
CN111163129B (zh) | 一种基于跨链网络的资源处理方法及装置 | |
US20210036857A1 (en) | Sending cross-chain authenticatable messages | |
US20200177572A1 (en) | Sending cross-chain authenticatable messages | |
CN109815025B (zh) | 一种业务模型调用方法、装置及存储介质 | |
US10318358B2 (en) | System and method for extending a web service environment to support scalable asynchronous clients | |
US10742415B2 (en) | Method and apparatus for inter-blockchain transmission of authenticable message | |
CN108881111B (zh) | 一种实现多租户***的方法及装置 | |
CN112114979A (zh) | 远程过程调用方法和装置 | |
CN111045833A (zh) | 接口调用的方法和装置 | |
CN115186260A (zh) | 小程序风险检测方法和装置 | |
CN111988418B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN109343975B (zh) | 用于页面间异步通信的方法和装置 | |
US5815708A (en) | Method and apparatus for dynamically loading method call exception code in response to a software method exception generated in a client/server computer system | |
CN114416075A (zh) | 业务处理方法及装置 | |
CN110659104B (zh) | 一种业务监控方法及相关设备 | |
CN113448655B (zh) | C标准动态库的调用方法与装置 | |
CN113806104A (zh) | 接口访问请求处理方法、api网关、服务器及*** | |
US10846156B2 (en) | Methods, devices and computer program products for managing software function | |
US20040243693A1 (en) | Inbound connector | |
CN111756844A (zh) | 一种多语言消息代理方法及装置 | |
CN112579212A (zh) | 跨语言调用的方法、调用方装置及被调用方装置 | |
CN112905273A (zh) | 一种服务调用方法和装置 | |
CN113742235A (zh) | 一种校验代码的方法和装置 | |
CN114489754A (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 |