[发明专利]一种模块间通信的方法、装置及计算设备有效
申请号: | 201710272190.6 | 申请日: | 2017-04-24 |
公开(公告)号: | CN107133109B | 公开(公告)日: | 2020-01-14 |
发明(设计)人: | 覃炳达;李高明;黄剑鸿 | 申请(专利权)人: | 京信通信系统(中国)有限公司;京信通信系统(广州)有限公司;京信通信技术(广州)有限公司;天津京信通信系统有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 11291 北京同达信恒知识产权代理有限公司 | 代理人: | 黄志华 |
地址: | 510663 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 模块 通信 方法 装置 计算 设备 | ||
1.一种模块间通信的方法,应用于第一计算设备,其特征在于,所述第一计算设备及与所述第一计算设备通信的至少一个第二计算设备的软件模块采用进程名、模块名、逻辑机器名及进程主备状态进行标识;其中,所述进程名为基于所处理的业务预定义的进程名称,所述模块名为预定义的软件模块名称,所述逻辑机器名为预定义的计算设备的逻辑硬件名称,所述进程主备状态为由进程主备管理节点确定的主进程状态和备进程状态;所述方法包括:
在模块间通信的软件模块发送方获得通信消息包后,解析获得所述通信消息包中的目的地址;其中,所述目的地址中具有进程名、模块名、逻辑机器名及进程主备状态标记;
基于所述目的地址确定与进程相关的模块间通信类型;
采用与所述模块间通信类型对应的模块间通信方式,将所述通信消息包发送给所述模块间通信的软件模块接收方。
2.根据权利要求1所述的方法,其特征在于,
如果基于所述目的地址确定与进程相关的模块间通信类型为进程内通信,所述采用与所述模块间通信类型对应的模块间通信方式,将所述通信消息包发送给所述模块间通信的软件模块接收方的步骤,具体为:
采用与进程内通信对应的内部消息队列通信方式,将所述通信消息包发送给所述模块间通信的所述软件模块接收方;其中,内部消息队列通信方式包括普通消息队列通信方式和内存消息队列通信方式。
3.根据权利要求2所述的方法,其特征在于,
如果内部消息队列通信方式为所述内存消息队列通信方式,所述采用与进程内通信对应的内部消息队列通信方式,将所述通信消息包发送给所述模块间通信的所述软件模块接收方的步骤,具体为:
将所述通信消息包的内存指针写入内存消息队列,以使所述模块间通信的所述软件模块接收方从所述内存消息队列中获取所述通信消息包的内存指针,基于所述通信消息包的内存指针获取所述通信消息包的内容。
4.根据权利要求1所述的方法,其特征在于,
如果基于所述目的地址确定与进程相关的模块间通信类型为同一计算设备内的进程间通信,所述采用与所述模块间通信类型对应的模块间通信方式,将所述通信消息包发送给所述模块间通信的所述软件模块接收方的步骤,具体为:
采用与同一计算设备内的进程间通信对应的系统消息队列通信方式,将所述通信消息包发送给所述模块间通信的所述软件模块接收方;其中,所述系统消息队列为进程对外消息接口中包括的系统消息队列。
5.根据权利要求1所述的方法,其特征在于,
如果基于所述目的地址确定的模块间通信类型为不同计算设备间的进程间通信,所述采用与所述模块间通信类型对应的模块间通信方式,将所述通信消息包发送给所述模块间通信的所述软件模块接收方的步骤,具体为:
采用与不同计算设备间的进程间通信对应的IP和端口号通信方式,将所述通信消息包发送给所述模块间通信的所述软件模块接收方;其中,所述IP和端口号为基于所述进程名及所述进程名对应的进程所拥有的端口资源而得到的进程对外消息接口中包括的IP和端口号。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
在所述模块间通信的所述软件模块接收方收到所述通信消息包后,解析收到的所述通信消息包中的所述目的地址;
如果能解析到所述目的地址,基于所述目的地址派发所述通信消息包;
如果不能解析到所述目的地址,将所述通信消息包作为异常消息处理。
7.根据权利要求1-5中任一项所述的方法,其特征在于,在模块间通信的软件模块发送方获得通信消息包前,所述方法还包括:
在每一个进程内确定一通信收发模块;
基于每一个进程的所述通信收发模块的模块注册接口,将每一个进程内的所述软件模块基于模块名注册到所述通信收发模块中并创建所述软件模块对应的消息队列;
在所有进程完成进程内的软件模块注册后,获得一用于软件模块间进行通信地址转换的地址映射表;其中,所述地址映射表为进程名、模块名、逻辑机器名及进程主备状态,消息队列,IP和端口的映射表;所述消息队列包括内部消息队列和系统消息队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京信通信系统(中国)有限公司;京信通信系统(广州)有限公司;京信通信技术(广州)有限公司;天津京信通信系统有限公司,未经京信通信系统(中国)有限公司;京信通信系统(广州)有限公司;京信通信技术(广州)有限公司;天津京信通信系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710272190.6/1.html,转载请声明来源钻瓜专利网。