【技术实现步骤摘要】
一种基于IPC动态维护技术的面向对象用电信息采集终端
本专利技术涉及进程间通信控制技术,尤其涉及一种针对Linux系统的进程间通信(IPC)动态维护技术。
技术介绍
进程间通信(IPC)接口主要用于应用程序、平台内建服务之间交换信息,或者请求服务提供者执行特定的工作。应用于嵌入式Linux操作系统时,由于Linux操作系统下,执行程序可剪裁,消息发送线程无法获知消息接收进程或线程是否存在,因而时常会出现死机。目前,进程间通信技术主要存在四种实现方式:管道、TCP、消息队列和UDP。其中,管道和TCP方式要求进程间通信的建立者始终存在,一旦进程间通信的建立者退出则需要通信消息接收进程或线程进行大量的工作。这两种方式下,需要通过信号量实现进程间同步保护,需要申请内存作为通信双方的共享内存,且要求通信双方同步并维护大量的内存ID和信号量。管道和TCP方式维护要求较高,且每时刻只允许一方访问信号量数据,无法进行多进程/线程间的交互。相对前两种方式,消息队列和UDP方式不要求通信消息接收进程或线程一定存在,更易维护。其中,消息队列由操作系统内建,响应时间更短更高效,可选择阻 ...
【技术保护点】
一种针对Linux系统的进程/线程间通信动态维护方法,其特征在于,步骤包括:第一步,每个进程或线程启动或重启,获得所述Linux系统随机分配的PID标识后,生成该进程或线程的IPC公告信息,全局注册所述IPC公告信息;第二步,各进程或线程发送消息时,先查询所述IPC公告信息,获取接收该消息的进程或线程的IPC公告信息;按照接收该消息的进程或线程的IPC公告信息组帧并发送所述消息,更新所述IPC公告信息;第三步,各进程或线程通过其IPC公告信息所对应的消息接收槽接收消息,响应并处理所述消息。
【技术特征摘要】
1.一种针对Linux系统的进程/线程间通信动态维护方法,其特征在于,步骤包括:第一步,每个进程或线程启动或重启,获得所述Linux系统随机分配的PID标识后,生成该进程或线程的IPC公告信息,全局注册所述IPC公告信息;第二步,各进程或线程发送消息时,先查询所述IPC公告信息,获取接收该消息的进程或线程的IPC公告信息;按照接收该消息的进程或线程的IPC公告信息组帧并发送所述消息,更新所述IPC公告信息;第三步,各进程或线程通过其IPC公告信息所对应的消息接收槽接收消息,响应并处理所述消息。2.如权利要求1所述的针对Linux系统的进程/线程间通信动态维护方法,其特征在于,所述IPC公告信息包括:所述进程或线程的任务名、PID标识、消息接收槽、消息数以及待处理消息数。3.如权利要求2所述的针对Linux系统的进程/线程间通信动态维护方法,其特征在于,所述消息接收槽为所述Linux系统中进程或线程对应的UDP侦听端口号。4.如权利要求1所述的针对Linux系统的进程/线程间通信动态维护方法,其特征在于,所述第二步中,更新所述IPC公告信息的步骤包括:将所述进程或线程的任务名对应的消息数以及待处理消息数分别递增加1。5.一种针对Linux系统的进程/线程间通信方法,其特征在于,步骤包括:S1,每启动一个进程或线程,均创建一个消息管理器对象为所述进程或线程分配PID标识,根据所述进程或线程的任务名、PID标识、消息接收槽、消息数以及待处理消息数生成该进程或线程的IPC公告信息,全局注册所述IPC公告信息;S2,若进程或线程需发送消息,则先通过所述消息管理器对象查询所述IPC公告信息,获取接收该消息的进程或线程的待处理消息数,若所述待...
【专利技术属性】
技术研发人员:张翔,汪志远,李源,刘青,侯沛景,
申请(专利权)人:光一科技股份有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。