基于Electron框架的进程间通讯方法、装置、设备及介质与流程
- 国知局
- 2024-11-19 09:36:50
本发明涉及一种基于electron框架的进程间通讯方法、装置、设备及介质。
背景技术:
1、在electron框架的多进程模型中,主进程和渲染进程有不同的职责,进程间通讯(inter-process communication,ipc)是执行许多常见任务的唯一方法,是主进程与渲染进程、渲染进程与渲染进程之间通讯的唯一方法。ipc构建的传统方法为:
2、1、将主进程作为渲染进程之间的消息代理,在主进程中设置监听两个渲染进程任务指令的特定消息通道;
3、2、将作为任务指令的消息从一个渲染进程a,发送到在主进程中设置的特定消息通道,然后主进程将消息转发到另一个监听该特定消息通道的渲染进程b;
4、3、渲染进程b根据该消息执行相关的任务或方法。
技术实现思路
1、为了提供一种新的进程间通讯方式,本发明实施例提供了一种基于electron框架的进程间通讯方法、装置、设备及介质。
2、第一方面,本发明实施例提供一种基于electron框架的进程间通讯方法,应用于主进程,该方法包括:
3、根据共享标识监听创建的共享通道;所述共享通道设置有共享标识;
4、通过所述共享通道接收第一渲染进程发送的第一扩展消息体;所述第一扩展消息体中包括第二渲染进程标识、多个业务消息及其任务标识;
5、根据所述第二渲染进程标识,将所述共享通道的所述第一扩展消息体发送至监听所述共享通道的第二渲染进程,以便所述第二渲染进程对所述第一扩展消息体进行解析,得到所述多个业务消息。
6、基于前述实施方式,本技术实施例的一种可选的实施方式中,所述监听创建的共享通道,包括:
7、在应用程序生命周期内,根据所述共享标识,监听所述共享通道是否有第一渲染进程向其发起连接请求,并对所述第一渲染进程和所述第二渲染进程发送通知指令。
8、基于前述实施方式,本技术实施例的一种可选的实施方式中,所述第二渲染进程的数量为至少两个;
9、所述根据所述第二渲染进程标识,将所述共享通道的所述第一扩展消息体发送至监听所述共享通道的第二渲染进程,以便所述第二渲染进程对所述第一扩展消息体进行解析,得到所述多个业务消息,包括:
10、根据所述第一扩展消息体中的第二渲染进程标识,确定目标发送的第二渲染进程,将所述第一扩展消息体发送至监听所述共享通道的所述目标发送的第二渲染进程,以便所述目标发送的第二渲染进程对所述第一扩展消息体进行解析,得到所述多个业务消息。
11、基于前述实施方式,本技术实施例的一种可选的实施方式中,根据所述目标发送的第二渲染进程的监听事件,向所述目标发送的第二渲染进程发送通知指令,以便所述第二渲染进程根据所述解析指令对所述第一扩展消息体进行解析。
12、第二方面,本发明实施例提供一种基于electron框架的进程间通讯方法,应用于第一渲染进程,该方法包括:
13、若接收到多个业务消息及其任务标识,将所述多个业务消息、多个任务标识和第二渲染进程标识进行封装,得到第一扩展消息体;
14、根据共享通道的共享标识,将所述第一扩展消息体发送到主进程的共享通道。
15、基于前述实施方式,本技术实施例的一种可选的实施方式中,根据所述共享标识,监听所述共享通道;
16、接收所述共享通道发送的第二扩展消息体;所述第二扩展消息体中包括第一渲染进程标识、所述多个业务消息及其任务标识;
17、对所述第二扩展消息体进行解析,得到多个业务消息,以便根据所述多个业务消息执行对应的任务。
18、第三方面,本发明实施例提供一种基于electron框架的进程间通讯方法,应用于第二渲染进程,该方法包括:
19、根据共享通道的共享标识,监听所述共享通道;
20、接收所述共享通道发送的第一扩展消息体;所述第一扩展消息体中包括第二渲染进程标识、所述多个业务消息及其任务标识;
21、对所述第一扩展消息体进行解析,得到多个业务消息,以便根据所述多个业务消息执行对应的任务。
22、第四方面,本发明实施例提供一种基于electron框架的进程间通讯装置,应用于主进程,该装置包括:
23、第一监听模块,用于根据共享标识监听创建的共享通道;所述共享通道设置有共享标识;
24、第一接收模块,用于通过所述共享通道接收第一渲染进程发送的第一扩展消息体;所述第一扩展消息体中包括第二渲染进程标识、多个业务消息及其任务标识;
25、第一发送模块,用于根据所述第二渲染进程标识,将所述共享通道的所述第一扩展消息体发送至监听所述共享通道的第二渲染进程,以便所述第二渲染进程对所述第一扩展消息体进行解析,得到所述多个业务消息。
26、第五方面,本发明实施例提供一种基于electron框架的进程间通讯装置,应用于第一渲染进程,该装置包括:
27、消息封装模块,用于若接收到多个业务消息及其任务标识,将所述多个业务消息、任务标识和第二渲染进程标识进行封装,得到第一扩展消息体;
28、第二发送模块,用于将所述第一扩展消息体发送到主进程的共享通道。
29、第六方面,本发明实施例提供一种基于electron框架的进程间通讯装置,应用于第二渲染进程,该装置包括:
30、第二监听模块,用于根据共享通道的共享标识,监听所述共享通道;
31、第二接收模块,用于接收所述共享通道发送的第一扩展消息体;所述第一扩展消息体中包括第二渲染进程标识、所述多个业务消息及其任务标识;
32、消息解析模块,用于对所述第一扩展消息体进行解析,得到多个业务消息,以便根据所述多个业务消息执行对应的任务。
33、第七方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的基于electron框架的进程间通讯方法。
34、第八方面,本发明实施例提供一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的基于electron框架的进程间通讯方法。
35、第九方面,本发明实施例提供一种包含指令的计算机程序产品,当计算机程序产品在计算机设备上运行时,使得计算机设备执行如上述的基于electron框架的进程间通讯方法。
36、第十方面,本发明实施例提供一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如上述的基于electron框架的进程间通讯方法。
37、本发明实施例提供的上述技术方案的有益效果至少包括:
38、本发明实施例提供的基于electron框架的进程间通讯方法,根据共享标识在主进程中监听创建的共享通道,通过共享通道接收第一渲染进程发送的第一扩展消息体,根据第二渲染进程标识,将共享通道的第一扩展消息体发送至监听共享通道的第二渲染进程,以便第二渲染进程对第一扩展消息体进行解析,得到多个业务消息。通过在主进程中注册一个共享通道,实现进程间通讯,避免在进程间交互时进行繁琐的任务识别,减少了主进程的工作量,提升了主进程的工作效率,有利于主进程的性能提升;同时在渲染进程中工作量减小,内存空间占用量减小,提升了工作效率,降低了进程间的耦合度,实现了高内聚低耦合的模块独立性。
39、本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
40、下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本文地址:https://www.jishuxx.com/zhuanli/20241118/329486.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。