[发明专利]基于客户机服务器模型的多进程通信方法在审
申请号: | 202110002461.2 | 申请日: | 2021-01-04 |
公开(公告)号: | CN112667419A | 公开(公告)日: | 2021-04-16 |
发明(设计)人: | 李祖新;李小青;蔡松勇 | 申请(专利权)人: | 南京海兴电网技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
地址: | 210000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 客户机 服务器 模型 进程 通信 方法 | ||
本发明公开了一种基于客户机服务器模型的多进程通信方法,包括步骤:(1)确认需要进行通信的进程,给各进程预定义分配服务ID;(2)各进程调用消息注册接口,创建一个消息管理器对象,并与服务ID绑定;(3)各进程创建消息处理循环,定时接收消息,并应答回复;(4)各进程可以在程序执行的任意时刻,调用消息发送接口,向目标服务ID发送消息,实现进程间通信。本发明实现多个进程之间,支持一对一或一对多或多对多的双向通信,并且支持多进程间的同步或异步通信。本发明发送/接收消息接口是基于客户机服务器模型,在socket通信基础上封装设计的,具备操作系统内建,可阻塞/非阻塞发送和接收,可多路复用,接收时可设置超时等优点。
技术领域
本发明属于嵌入式终端操作系统进程通信领域,尤其涉及一种基于客户机服务器模型的多进程通信方法。
背景技术
进程是操作系统的概念,每当执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放,可以认为进程是一个程序的一次执行过程。
进程用户空间是相互独立的,一般而言是不能相互访问的。但很多情况下进程间需要互相通信,来完成系统的某项功能。进程通过与内核及其它进程之间的互相通信来协调它们的行为。一般进程间通信,有以下几种应用场景:(1)数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间;(2)共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到;(3)通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程);(4)资源共享:多个进程之间共享同样的资源。为了作到这一点,需要内核提供锁和同步机制;(5)进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。
基本进程通讯方法有共享存储、消息传递、管道通信。当前嵌入式终端已广泛使用Linux等操作系统,同时终端的软件开发设计广泛应用面向对象等模块化技术,使得终端内部的不同功能模块的进程间通信越来越频繁。所以对进程间的通信机制提出了更高的要求,实现高效可靠的进程通信对保证嵌入式终端长期稳定运行十分有必要。
消息队列是存放在内核中的消息链表,每个消息队列由消息队列标识符表示。只有在操作系统重启或者显示地删除一个消息队列时,该消息队列才会被真正的删除。消息队列在某个进程往一个队列写入消息之前,并不需要另外某个进程在该队列上等待消息的到达。
消息队列特点:消息队列是消息的链表,具有特定的格式,存放在内存中并由消息队列标识符标识;消息队列允许一个或多个进程向它写入与读取消息;管道和消息队列的通信数据都是先进先出的原则;消息队列可以实现消息的随机查询,消息不一定要以先进先出的次序读取,也可以按消息的类型读取。
消息队列的缺点:消息队列是操作系统内建的,可阻塞/非阻塞发送和接收,但是阻塞时无超时,影响程序逻辑设计;消息队列不能多路复用,当多个进程互相进行消息发送时,需要建立多个消息队列,使用起来比较麻烦。
发明内容
发明目的:针对以上问题,本发明提出一种基于客户机服务器模型的多进程通信方法,实现多个进程之间,支持一对一或一对多或多对多的双向通信,并且支持多进程间的同步或异步通信。
技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种基于客户机服务器模型的多进程通信方法,包括步骤:
(1)确认需要进行通信的进程,给各进程预定义分配服务ID;
(2)各进程调用消息注册接口,创建一个消息管理器对象,并与服务ID绑定;
(3)各进程创建消息处理循环,定时接收消息,并应答回复;
(4)各进程可以在程序执行的任意时刻,调用消息发送接口,向目标服务ID发送消息,实现进程间通信。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京海兴电网技术有限公司,未经南京海兴电网技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110002461.2/2.html,转载请声明来源钻瓜专利网。