[发明专利]多进程核间通信建立方法、系统、终端及存储介质有效
申请号: | 202110656166.9 | 申请日: | 2021-06-11 |
公开(公告)号: | CN113360294B | 公开(公告)日: | 2023-01-10 |
发明(设计)人: | 梁志强;张帅豪 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F11/30 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 孙玉营 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 进程 通信 建立 方法 系统 终端 存储 介质 | ||
本发明提供一种多进程核间通信建立方法、系统、终端及存储介质,包括:通信请求核心选取标识存储地址,并将所述标识存储地址发送至目标核心,所述目标核心中断处理函数后对标识存储地址进行数据更新;监控所述标识存储地址的数据更新状态,若监控到标识存储地址的数据被目标核心更新,则判定通信连接成功,并将标识存储地址的数据复位。本发明通过指定标识存储地址,并将地址通知目标核心,目标核心接收通信请求后中断处理函数,并在完成中断程序后更新标识存储地址的数据,监控到数据存在更新后,请求建立通信的核心判定通信建立成功,实现了通信建立的信息交互,避免了反馈信号ACK丢失导致的通信无法建立,避免了因为多进程同时通信时导致的各种系统异常。
技术领域
本发明属于服务器技术领域,具体涉及一种多进程核间通信建立方法、系统、终端及存储介质。
背景技术
多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核),此时处理器能支持系统总线上的多个处理器,由总线控制器提供所有总线控制信号和命令信号。
核间通信是两个业务模块上的两个进程间进行通信,这需要硬件上通信信道的支持,用于数据传输及通信过程中的握手。本文所叙述的的内容就是握手过程中的一种同步方法。
握手的过程一般通过中断的方式实现,当一个核心A要与另外一个核心B通信时,将会向其发送一个中断信号,然后进入轮询状态等待B的反馈信号ACK。核心B收到中断信号后将会进入中断处理函数,在中断处理函数的最后会设置ACK信号。核心A查询到ACK信号后,将会继续进行下面的处理。
核心B在进入中断处理函数时第一件事就是清中断,以保证后续的中断信号能正常进入,这也包括清ACK信号。当核心A只有一个进程与核心B进行通信时,这种握手方式工作是稳定的。当核心A同时有多个进程需要与核心B进行通信时,有可能会导致核心A的一个或多个进程丢失ACK信号,而无法进行后续的流程。
发明内容
针对现有技术的上述不足,本发明提供一种多进程核间通信建立方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种多进程核间通信建立方法,包括:
通信请求核心选取标识存储地址,并将所述标识存储地址发送至目标核心,所述目标核心中断处理函数后对标识存储地址进行数据更新;
监控所述标识存储地址的数据更新状态,若监控到标识存储地址的数据被目标核心更新,则判定通信连接成功,并将标识存储地址的数据复位。
通信请求核心在某个进程需要与其他核心进行通信时,选取标识存储地址,并将地址通知目标核心,目标核心接收通信请求后中断处理函数,并在完成中断程序后更新标识存储地址的数据,实现通信建立的信息交互,避免了反馈信号ACK丢失导致的通信无法建立。
进一步的,通信请求核心选取标识存储地址,并将所述标识存储地址发送至目标核心,包括:
从寄存器中随机选取一个存储位作为标识存储地址,并将标识存储地址封装进数据包中,将所述数据包发送至目标核心。
进一步的,从寄存器中随机选取一个存储位作为标识存储地址,包括:
遍历寄存器的所有存储位,将存储数据为空的存储位作为待选存储位;
随机从待选存储位中选取标识存储地址;
将请求通信的进程号与所述标识存储地址绑定,并成对保存至地址列表中。
进一步的,监控所述标识存储地址的数据更新状态,若监控到标识存储地址的数据被目标核心更新,则判定通信连接成功,并将标识存储地址的数据复位,包括:
轮询所述地址列表中的标识存储地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110656166.9/2.html,转载请声明来源钻瓜专利网。