一种消息通信的系统及方法技术方案

技术编号:35064348 阅读:19 留言:0更新日期:2022-09-28 11:20
本申请公开了一种消息通信的系统及方法,该方法包括:通过第一节点响应向第二节点发送事件消息的指令,执行本地事件工作,并构建包含源节点id、由消息总线向第一节点分配的源节点会话id、目标节点id以及由消息总线向第二节点分配的目标节点会话id的路由四元组,将执行事件工作的结果与路由四元组组合作为目标消息,消息总线根据路由四元组的目标节点id以及目标节点会话id,将目标消息转发至第二节点。由此可见,通过消息总线主导每个节点的通信,使得每个节点仅通过消息总线路由即可直接与目标会话的节点进行消息通信,大大减少了层次化的节点的数量,提高了节点间的通信效率。提高了节点间的通信效率。提高了节点间的通信效率。

【技术实现步骤摘要】
一种消息通信的系统及方法


[0001]本申请涉及信息通信领域,更具体的说,是涉及一种消息通信的系统及方法。

技术介绍

[0002]随着信息技术的不断发展,线上信息的交流遍布日常生活,人们不断追求高性能的通信设备,近年来,在通信设备上的配置参数越来越高,通信设备的性能也不断优化,设备内部的信息通信速度也不断提高,消息进行通信的模式也具有层次化,满足人们对信息通信的优质体验。
[0003]其中,目前设备内部的消息通信模式如图1所示,通信系统中有多个节点,两个节点中一方作为服务端节点进行端口监听,另一方作为客户端节点连接到端口,因此两个节点之间就建立了全双工通信。示例如Studio节点作为服务端节点,Engine节点和Assist节点均作为客户端节点连接到Studio节点,Assist节点作为服务端节点,那么PluginA节点则作为客户端节点连接到Assist节点。
[0004]然而,当通信系统的层次较多,网络拓扑复杂,可能导致实现简单的功能反而需要经过多个节点才能实现两个节点通信,造成通信效率低下,因此需要改变通信系统的拓扑结构,以提高节点间的通信效率。

技术实现思路

[0005]鉴于上述问题,提出了本申请以便提供一种消息通信的系统及方法,以提高节点间的通信效率。
[0006]为了实现上述目的,现提出具体方案如下:
[0007]一种消息通信的系统,包括:多个节点和消息总线,其中,每个节点与所述消息总线通信相连,每个节点均有与之对应的节点id,每个节点均存储了各节点对应的节点id以及所述消息总线的总线id,将消息发送的节点作为第一节点,将接收消息的每个节点作为第二节点,所述消息总线向消息发送的节点分配源节点会话id,所述消息总线向接收消息的每个节点分配与每个接收消息的节点对应的目标节点会话id;
[0008]所述第一节点,用于响应仅向单个第二节点发送事件消息的指令,执行本地节点的事件工作,并确定所执行事件工作的结果,以本地节点的节点id作为源节点id,所述第二节点的节点id作为目标节点id,构建包含所述源节点id、所述源节点会话id、所述目标节点id以及所述目标节点会话id的路由四元组,将所述结果与所述路由四元组组合作为第一目标消息,向所述消息总线发送所述第一目标消息;
[0009]所述消息总线,用于根据所述第一节点发送的第一目标消息中的路由四元组的,目标节点id以及目标节点会话id,将所述第一目标消息发送至所述第二节点。
[0010]可选的,所述第一节点在向所述消息总线发送所述第一目标消息之前,所述第一节点还用于:
[0011]通过消息体加密的方式对所述第一目标消息进行加密,得到加密后的第一目标消
息,以供所述消息总线在将所述加密后的第一目标消息发送至第二节点后,第二节点以与所述消息体加密对应的消息体解密的方式,对所述加密后的第一目标消息进行解密。
[0012]可选的,所述消息总线向消息发送的节点分配源节点会话id,包括:
[0013]所述消息总线从预先存储的id值分配记录中确定最近一次分配的id值;
[0014]所述消息总线将所述最近一次分配的id值加1,若所得到的结果超过4个字节整型,则将1作为待分配源节点会话id值,若所得到的结果不超过4个字节整型,所得到的结果作为待分配源节点会话id值;
[0015]所述消息总线判断所述待分配源节点会话id值是否与所述预先存储的id值分配记录中的id值匹配;
[0016]若是,所述消息总线将所述待分配源节点会话id值作为新的最近一次分配的id值,返回执行所述消息总线将所述最近一次分配的id值加1的步骤;
[0017]若否,所述消息总线将所述待分配源节点会话id值作为源节点会话id;
[0018]所述消息总线将所述源节点会话id分配至消息发送的节点。
[0019]可选的,所述消息总线向接收消息的每个节点分配与每个接收消息的节点对应的目标节点会话id,包括:
[0020]所述消息总线对于每个接收消息的节点,从预先存储的id值分配记录中确定最近一次分配的id值;
[0021]所述消息总线将所述最近一次分配的id值加1,若所得到的结果超过4个字节整型,则将1作为待分配目标节点会话id值,若所得到的结果不超过4个字节整型,所得到的结果作为待分配目标节点会话id值;
[0022]所述消息总线判断所述待分配目标节点会话id值是否与所述预先存储的id值分配记录中的id值匹配;
[0023]若是,所述消息总线将所述待分配目标节点会话id值作为新的最近一次分配的id值,返回执行所述消息总线将所述最近一次分配的id值加1的步骤;
[0024]若否,所述消息总线将所述待分配目标节点会话id值作为目标节点会话id;
[0025]所述消息总线将所述目标节点会话id分配至所述接收消息的节点。
[0026]可选的,所述事件工作为人机交互的操作;
[0027]所述第一节点响应仅向单个第二节点发送事件消息的指令,执行本地节点的事件工作,并确定所执行事件工作的结果,包括:
[0028]所述第一节点基于所述执行所述人机交互的操作的指令,激活人机交互界面;
[0029]所述第一节点在所述人机交互界面上,响应用户执行事件的操作,确定所执行事件工作的结果。
[0030]可选的,所述事件消息为请求类型的事件消息;
[0031]所述消息总线还用于:
[0032]将所述第一目标消息的消息类型设置为请求类型,并将所述请求类型的第一目标消息发送至所述第二节点;
[0033]所述第二节点,用于接收到所述消息总线通知执行应答事件工作的指令,执行本地节点的应答事件工作,并确定所执行应答事件工作的应答结果,将所述路由四元组中的源节点id的值与目标节点id的值互换,以及将所述路由四元组中的源节点会话id的值与目
标节点会话id的值互换,得到新的路由四元组,将所述新的路由四元组与所述应答结果组合作为应答消息,并将所述应答消息发送至所述消息总线,以供所述消息总线根据所述应答消息中的路由四元组的,目标节点id以及目标节点会话id,将所述应答消息发送至所述第一节点。
[0034]可选的,所述第一节点还用于:
[0035]响应向至少两个第二节点发送订阅推送类型的事件消息的指令,执行本地节点的推送事件工作,并确定所执行推送事件工作的结果为推送消息,以本地节点的节点id作为源节点id,以0作为总线会话id,构建包含所述源节点id、所述源节点会话id、所述消息总线的总线id以及所述总线会话id的总线路由四元组,将所述推送消息与所述总线路由四元组组合作为第二目标消息,向所述消息总线发送所述第二目标消息;
[0036]所述消息总线,还用于:
[0037]将所述第二目标消息的消息类型设置为推送类型,并将所述推送类型的第二目标消息中的推送消息,发送至预先订阅了所述第一节点的推送消息的各第二节点。...

【技术保护点】

【技术特征摘要】
1.一种消息通信的系统,其特征在于,包括:多个节点和消息总线,其中,每个节点与所述消息总线通信相连,每个节点均有与之对应的节点id,每个节点均存储了各节点对应的节点id以及所述消息总线的总线id,将消息发送的节点作为第一节点,将接收消息的每个节点作为第二节点,所述消息总线向消息发送的节点分配源节点会话id,所述消息总线向接收消息的每个节点分配与每个接收消息的节点对应的目标节点会话id;所述第一节点,用于响应仅向单个第二节点发送事件消息的指令,执行本地节点的事件工作,并确定所执行事件工作的结果,以本地节点的节点id作为源节点id,所述第二节点的节点id作为目标节点id,构建包含所述源节点id、所述源节点会话id、所述目标节点id以及所述目标节点会话id的路由四元组,将所述结果与所述路由四元组组合作为第一目标消息,向所述消息总线发送所述第一目标消息;所述消息总线,用于根据所述第一节点发送的第一目标消息中的路由四元组的,目标节点id以及目标节点会话id,将所述第一目标消息发送至所述第二节点。2.根据权利要求1所述的系统,其特征在于,所述第一节点在向所述消息总线发送所述第一目标消息之前,所述第一节点还用于:通过消息体加密的方式对所述第一目标消息进行加密,得到加密后的第一目标消息,以供所述消息总线在将所述加密后的第一目标消息发送至第二节点后,第二节点以与所述消息体加密对应的消息体解密的方式,对所述加密后的第一目标消息进行解密。3.根据权利要求1所述的系统,其特征在于,所述消息总线向消息发送的节点分配源节点会话id,包括:所述消息总线从预先存储的id值分配记录中确定最近一次分配的id值;所述消息总线将所述最近一次分配的id值加1,若所得到的结果超过4个字节整型,则将1作为待分配源节点会话id值,若所得到的结果不超过4个字节整型,所得到的结果作为待分配源节点会话id值;所述消息总线判断所述待分配源节点会话id值是否与所述预先存储的id值分配记录中的id值匹配;若是,所述消息总线将所述待分配源节点会话id值作为新的最近一次分配的id值,返回执行所述消息总线将所述最近一次分配的id值加1的步骤;若否,所述消息总线将所述待分配源节点会话id值作为源节点会话id;所述消息总线将所述源节点会话id分配至消息发送的节点。4.根据权利要求1所述的系统,其特征在于,所述消息总线向接收消息的每个节点分配与每个接收消息的节点对应的目标节点会话id,包括:所述消息总线对于每个接收消息的节点,从预先存储的id值分配记录中确定最近一次分配的id值;所述消息总线将所述最近一次分配的id值加1,若所得到的结果超过4个字节整型,则将1作为待分配目标节点会话id值,若所得到的结果不超过4个字节整型,所得到的结果作为待分配目标节点会话id值;所述消息总线判断所述待分配目标节点会话id值是否与所述预先存储的id值分配记录中的id值匹配;若是,所述消息总线将所述待分配目标节点会话id值作为新的最近一次分配的id值,
返回执行所述消息总线将所述最近一次分配的id值加1的步骤;若否,所述消息总线将所述待分配目标节点会话id值作为目标节点会话id;所述消息总线将所述目标节点会话id分配至所述接收消息的节点。5.根据权利要求1所述的系统,其特征在于,所述事件工作为人机交互的操作;所述第一节点响应仅向单个第二节点发送事件消息的指令,执行本地节点的事件工作,并确定所执行事件工作的结果,包括:所述第一节点基于所述执行所述人机交互的操作的指令,激活人机交互界面;所述第一节点在所述人机交互界面上,响应用户执行事件的操作,确定所执行事件工作的结果。6.根据权利要求1所述的系统,其特征在于,所述事件消息为请求类型的事...

【专利技术属性】
技术研发人员:卞晓瑜肖鸣林涂佳伟
申请(专利权)人:壹沓科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1