[发明专利]一种进程间通讯方法及系统有效
申请号: | 202111409285.0 | 申请日: | 2021-11-25 |
公开(公告)号: | CN113821363B | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | 李翔 | 申请(专利权)人: | 北京鲸鲮信息系统技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/48;H04L67/1095 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 任少瑞 |
地址: | 100080 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 进程 通讯 方法 系统 | ||
本发明提供一种进程间通讯方法及系统,方法包括:当监听到Linux的Dbus总线中有服务注册时,在Android服务管理器中同步添加服务;当监听到Android中有服务添加时,在Linux的Dbus总线中同步注册服务;当Linux进程和Android进程发出服务调用请求时,对Dbus与Binder之间传输的数据结构进行双向转换。本发明能够根据同步注册/添加的服务实现不同进程间进行服务的相互调用,从而有效简化了Linux进程与Android进程之间进行双向通讯的实现过程。
技术领域
本发明涉及计算机技术领域,尤其涉及一种进程间通讯方法及系统。
背景技术
目前Linux进程利用Binder与Android进程进行进程间通讯,通过借助libgbinder等开源项目实现与Android Binder服务连接。Linux桌面系统的IPC(进程间通信)一般采用Dbus,对于Linux程序来说采用Dbus通信会更容易。但是,libgbinder等开源项目仅支持Linux访问Android Service,而无法支持Android应用访问Linux Service。因此,对于Linux进程与Android进程之间的双向通讯,目前尚未有简单易行的实现方案。
发明内容
本发明提供一种进程间通讯方法、系统、电子设备及存储介质,用以解决上述技术问题,能够简化Linux进程与Android进程之间进行双向通讯的实现过程。
本发明提供一种进程间通讯方法,包括:
当监听到Linux进程注册Linux服务的消息时,通过Binder设备调用服务添加接口以使服务管理器添加第一同步服务;其中,所述第一同步服务与所述Linux服务为一一对应关系;
当监听到Android进程添加Android服务的消息时,向Dbus总线发出服务注册指令以使所述Dbus总线注册第二同步服务;其中,所述第二同步服务与所述Android服务为一一对应关系。
在一个实施例中,所述进程间通讯方法还包括:
当接收到所述Linux进程的第一调用请求时,将结构转换后的第一调用请求转发至与所述第二同步服务相对应的目标Android服务中,继而将所述目标Android服务反馈的第一调用结果进行结构转换后转发至所述Linux进程;
当接收到所述Android进程的第二调用请求时,将结构转换后的第二调用请求转发至与所述第一同步服务相对应的目标Linux服务中,继而将所述目标Linux服务反馈的第二调用结果进行结构转换后转发至所述Android进程。
在一个实施例中,所述当监听到Android进程添加Android服务的消息时,向Dbus总线发出服务注册指令以使所述Dbus总线注册第二同步服务,包括:
当监听到Android进程添加Android服务的消息时,向Dbus总线发出服务注册指令以使所述Dbus总线注册第二同步服务,继而将所述Android服务的handle标识与所述第二同步服务进行关联绑定。
在一个实施例中,所述的进程间通讯方法还包括:
当监听到所述Linux进程注销Linux服务的消息时,通过所述Binder设备调用服务删除接口以使所述服务管理器删除与所述Linux服务相对应的第一同步服务。
在一个实施例中,所述的进程间通讯方法还包括:
当监听到Android进程删除Android服务的消息时,向Dbus总线发出服务注销指令以使所述Dbus总线注销与所述Android服务相对应的第二同步服务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京鲸鲮信息系统技术有限公司,未经北京鲸鲮信息系统技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111409285.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:绝缘横担装置及使用方法
- 下一篇:音频播放方法、装置、终端及存储介质