[发明专利]一种基于API的进程间通讯系统在审
| 申请号: | 202310058818.8 | 申请日: | 2023-01-16 |
| 公开(公告)号: | CN116185659A | 公开(公告)日: | 2023-05-30 |
| 发明(设计)人: | 王秀楷;周党生;吕一航;周朝阳 | 申请(专利权)人: | 深圳市禾望电气股份有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/52 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 518000 广东省深圳市福田区沙头街道天安社区*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 api 进程 通讯 系统 | ||
本发明提供一种基于API的进程间通讯系统,所述系统包括:应用模块,用于接收第一进程对第二进程的通讯请求,并确定与所述通讯请求相对应的句柄;还用于调用所述句柄标记的执行模块的应用程序接口API;所述执行模块,用于通过所述API传入所述句柄;还用于根据所述API和所述句柄对所述第二进程执行相应的通讯操作;其中,所述应用模块通过调用所述句柄标记的所述执行模块的API,与所述执行模块进行数据交互。本发明提供的系统能够保证不同进程间的独立性,避免由某些进程崩溃引起的异常问题。
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于API的进程间通讯系统。
背景技术
进程间通讯是一种机制,操作系统进程和线程通过它交换数据和消息,进程间通信有两种基本模型:共享内存和消息传递(消息队列)。其中,共享内存模型会建立起一块供协作进程共享的内存区域,进程通过向此共享区域读出或写入数据来交换信息。消息传递模型通过在协作进程间交换消息来实现通信。
中国专利CN201811114337.X公开了基于远程字典服务(Remote DictionaryServer ,Redis)消息队列的分布式流媒体服务系统,如图1所示,系统包括中央控制单元,用于接收请求端发送的请求并将请求分类处理,将产生的任务添加到redis消息队列中;视音频推送与转发服务单元,用于轮循redis消息队列,并根据轮循结果启动或者停止推送与转发任务;视频录像服务单元,用于轮循redis消息队列,并根据轮循结果启动或者停止录像任务;录像回放服务单元,用于轮循redis消息队列,并根据轮循结果启动或者停止回放任务;视频直播服务单元,用于轮循redis消息队列,并根据轮循结果启动或者停止直播任务。该发明中各单元运行于多进程,可进行分布式部署在多服务器上,从而降低单一服务器的硬件和网络压力。
上述专利虽然能够降低单一服务器的硬件和网络压力,但仍然采用消息队列和共享内存技术,由于消息队列和共享内存的管理机制特点,当其中某些进程崩溃以后,可能引起消息阻塞、死锁、破裂等异常问题。
发明内容
本发明提供了一种基于API的进程间通讯系统,能够保证不同进程间的独立性,避免由某些进程崩溃引起的异常问题。
本发明实施例提供了一种基于应用程序接口(Application ProgrammingInterface ,API)的进程间通讯系统,系统包括:
应用模块,用于接收第一进程对第二进程的通讯请求,并确定与通讯请求相对应的句柄;还用于调用句柄标记的执行模块的应用程序接口API;
执行模块,用于通过API传入句柄;还用于根据API和句柄对第二进程执行相应的通讯操作;
其中,应用模块通过调用句柄标记的执行模块的API,与执行模块进行数据交互。
在一种可能的实现方式中,执行模块包括Redis处理模块、轻型数据库SQLite处理模块、内存共享模块和点表处理模块中的至少一种模块。
在一种可能的实现方式中,句柄包括公有变量和私有变量,其中:
公有变量用于标记执行模块;
私有变量用于标记执行模块中执行第二进程的端口。
在一种可能的实现方式中,API为写入接口和读取接口中的一种接口;执行模块,具体用于:
判断句柄的类型;
根据API的类型和句柄的类型对第二进程执行相应的操作。
在一种可能的实现方式中,当API为写入接口,句柄为发布订阅句柄时,执行模块,具体用于:向第二进程发布消息;
当API为写入接口,句柄为读写键值句柄时,执行模块,具体用于:向第二进程写入键值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市禾望电气股份有限公司,未经深圳市禾望电气股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310058818.8/2.html,转载请声明来源钻瓜专利网。





